From b3da8fa0b580e0f99236ccf5d0078fb5dd68b681 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Sat, 26 Oct 2024 23:56:09 +0200 Subject: [PATCH 01/18] Use Scratch's workaround for fully transparent pixels --- src/shaders/sprite.frag | 29 +++++++++++++++++------------ test/color_effects.png | Bin 238 -> 240 bytes 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/shaders/sprite.frag b/src/shaders/sprite.frag index e08d03f..80dbdf7 100644 --- a/src/shaders/sprite.frag +++ b/src/shaders/sprite.frag @@ -87,11 +87,18 @@ const vec2 kCenter = vec2(0.5, 0.5); void main() { - vec4 texColor = texture2D(u_skin, v_texCoord); + vec2 texcoord0 = v_texCoord; + + gl_FragColor = texture2D(u_skin, texcoord0); + + #if defined(ENABLE_color) || defined(ENABLE_brightness) + // Divide premultiplied alpha values for proper color processing + // Add epsilon to avoid dividing by 0 for fully transparent pixels + gl_FragColor.rgb = clamp(gl_FragColor.rgb / (gl_FragColor.a + epsilon), 0.0, 1.0); #ifdef ENABLE_color { - vec3 hsv = convertRGB2HSV(texColor.rgb); + vec3 hsv = convertRGB2HSV(gl_FragColor.rgb); // Force grayscale values to be slightly saturated const float minLightness = 0.11 / 2.0; @@ -102,22 +109,20 @@ void main() hsv.x = mod(hsv.x + u_color, 1.0); if (hsv.x < 0.0) hsv.x += 1.0; - texColor.rgb = convertHSV2RGB(hsv); + gl_FragColor.rgb = convertHSV2RGB(hsv); } #endif // ENABLE_color #ifdef ENABLE_brightness - texColor.rgb = clamp(texColor.rgb + vec3(u_brightness), vec3(0), vec3(1)); + gl_FragColor.rgb = clamp(gl_FragColor.rgb + vec3(u_brightness), vec3(0), vec3(1)); #endif // ENABLE_brightness + // Re-multiply color values + gl_FragColor.rgb *= gl_FragColor.a + epsilon; + + #endif // defined(ENABLE_color) || defined(ENABLE_brightness) + #ifdef ENABLE_ghost - texColor *= u_ghost; + gl_FragColor *= u_ghost; #endif // ENABLE_ghost - - // Set RGB components to zero if the color is fully transparent - // This is a workaround for rendering issues when alpha is zero - if(texColor.a == 0.0) - gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0); - else - gl_FragColor = texColor; } diff --git a/test/color_effects.png b/test/color_effects.png index c18e4a366d13075d64daef1412701b1dbde46b2e..5a344417edac59416cf5780d2c348cc7caccffad 100644 GIT binary patch delta 191 zcmaFI_?c#q!`U{<2L8A zP1`pJtl@1I;!_iQu3gXe?xniZCHKw$K18G+-FRDmS;xwEXP52Q4d%a{UiYi^-0r)N zHu=8&ywSPMXaZhnfhPUy_kkzv-%3O89pmflu(I|q2>tblbxJc||AU#wY#D&S)78&q Iol`;+0PrVR(*OVf delta 189 zcmeys_>OUcW&HwA7srr{#Y@*WBhaeElul-_Q|!`ad0*O09L>;;R&3`WLHe2r^T z8^SK{xnQE6EBJhJeOyt0z2Ky}Q@@;}bIvW_Wuqrp{4=KfZ|>ZxA3c8zYtL=3-NU!C z*0lUY1X~b(Xof0XFF)hYg}VIJY40X<>`492y3UK)YNZHon{Z075d#o-y85}Sb4q9e E00uTk(EtDd From e691f7671d92c9c31bb7f6fcff9cff135c988792 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Sun, 27 Oct 2024 13:26:48 +0100 Subject: [PATCH 02/18] Improve ShaderManager test --- test/shadermanager/shadermanager_test.cpp | 107 +++++++++------------- 1 file changed, 44 insertions(+), 63 deletions(-) diff --git a/test/shadermanager/shadermanager_test.cpp b/test/shadermanager/shadermanager_test.cpp index f49d10f..f55b774 100644 --- a/test/shadermanager/shadermanager_test.cpp +++ b/test/shadermanager/shadermanager_test.cpp @@ -12,9 +12,6 @@ using namespace scratchcpprender; using namespace libscratchcpp; -static const QString VERTEX_SHADER_SRC = ":/qt/qml/ScratchCPP/Render/shaders/sprite.vert"; -static const QString FRAGMENT_SHADER_SRC = ":/qt/qml/ScratchCPP/Render/shaders/sprite.frag"; - class ShaderManagerTest : public testing::Test { public: @@ -27,16 +24,6 @@ class ShaderManagerTest : public testing::Test m_surface.create(); Q_ASSERT(m_surface.isValid()); m_context.makeCurrent(&m_surface); - - QFile vertSource(VERTEX_SHADER_SRC); - vertSource.open(QFile::ReadOnly); - m_vertexShader = vertSource.readAll(); - ASSERT_FALSE(m_vertexShader.isEmpty()); - - QFile fragSource(FRAGMENT_SHADER_SRC); - fragSource.open(QFile::ReadOnly); - m_fragmentShader = fragSource.readAll(); - ASSERT_FALSE(m_fragmentShader.isEmpty()); } void TearDown() override @@ -47,8 +34,6 @@ class ShaderManagerTest : public testing::Test QOpenGLContext m_context; QOffscreenSurface m_surface; - QByteArray m_vertexShader; - QByteArray m_fragmentShader; }; TEST_F(ShaderManagerTest, RegisteredEffects) @@ -110,27 +95,25 @@ TEST_F(ShaderManagerTest, SetUniforms) QOpenGLFunctions glF(&m_context); glF.initializeOpenGLFunctions(); ShaderManager manager; - QOpenGLShaderProgram program; - program.addShaderFromSourceCode(QOpenGLShader::Vertex, "#version 330 core\n" + m_vertexShader); - program.addShaderFromSourceCode(QOpenGLShader::Fragment, "#version 330\n#define ENABLE_color\n#define ENABLE_ghost\n" + m_fragmentShader); std::unordered_map effects = { { ShaderManager::Effect::Color, 64.9 }, { ShaderManager::Effect::Ghost, 12.5 } }; - program.bind(); - manager.setUniforms(&program, 4, effects); + QOpenGLShaderProgram *program = manager.getShaderProgram(effects); + program->bind(); + manager.setUniforms(program, 4, effects); GLint texUnit = -1; - glF.glGetUniformiv(program.programId(), program.uniformLocation("u_skin"), &texUnit); + glF.glGetUniformiv(program->programId(), program->uniformLocation("u_skin"), &texUnit); ASSERT_EQ(texUnit, 4); GLfloat value = 0.0f; - glF.glGetUniformfv(program.programId(), program.uniformLocation("u_color"), &value); + glF.glGetUniformfv(program->programId(), program->uniformLocation("u_color"), &value); ASSERT_NE(value, 0.0f); value = 0.0f; - glF.glGetUniformfv(program.programId(), program.uniformLocation("u_ghost"), &value); + glF.glGetUniformfv(program->programId(), program->uniformLocation("u_ghost"), &value); ASSERT_NE(value, 0.0f); - program.release(); + program->release(); } TEST_F(ShaderManagerTest, ColorEffectValue) @@ -144,44 +127,44 @@ TEST_F(ShaderManagerTest, ColorEffectValue) QOpenGLFunctions glF(&m_context); glF.initializeOpenGLFunctions(); ShaderManager manager; - QOpenGLShaderProgram program; - program.addShaderFromSourceCode(QOpenGLShader::Vertex, "#version 330 core\n" + m_vertexShader); - program.addShaderFromSourceCode(QOpenGLShader::Fragment, "#version 330\n#define ENABLE_" + effectName + "\n" + m_fragmentShader); // In range std::unordered_map effects = { { effect, 64.9 } }; - program.bind(); - manager.setUniforms(&program, 0, effects); + QOpenGLShaderProgram *program = manager.getShaderProgram(effects); + program->bind(); + manager.setUniforms(program, 0, effects); manager.getUniformValuesForEffects(effects, values); GLfloat value = 0.0f; - glF.glGetUniformfv(program.programId(), program.uniformLocation(uniformName), &value); + glF.glGetUniformfv(program->programId(), program->uniformLocation(uniformName), &value); ASSERT_EQ(value, 0.3245f); ASSERT_EQ(values.at(effect), value); // Below the minimum effects[effect] = -395.7; - program.bind(); - manager.setUniforms(&program, 0, effects); + program = manager.getShaderProgram(effects); + program->bind(); + manager.setUniforms(program, 0, effects); manager.getUniformValuesForEffects(effects, values); value = 0.0f; - glF.glGetUniformfv(program.programId(), program.uniformLocation(uniformName), &value); + glF.glGetUniformfv(program->programId(), program->uniformLocation(uniformName), &value); ASSERT_EQ(std::round(value * 100.0f) / 100.0f, 0.02f); ASSERT_EQ(values.at(effect), value); // Above the maximum effects[effect] = 579.05; - program.bind(); - manager.setUniforms(&program, 0, effects); + program = manager.getShaderProgram(effects); + program->bind(); + manager.setUniforms(program, 0, effects); manager.getUniformValuesForEffects(effects, values); value = 0.0f; - glF.glGetUniformfv(program.programId(), program.uniformLocation(uniformName), &value); + glF.glGetUniformfv(program->programId(), program->uniformLocation(uniformName), &value); ASSERT_EQ(std::round(value * 100.0f) / 100.0f, 0.9f); ASSERT_EQ(values.at(effect), value); - program.release(); + program->release(); } TEST_F(ShaderManagerTest, BrightnessEffectValue) @@ -195,44 +178,44 @@ TEST_F(ShaderManagerTest, BrightnessEffectValue) QOpenGLFunctions glF(&m_context); glF.initializeOpenGLFunctions(); ShaderManager manager; - QOpenGLShaderProgram program; - program.addShaderFromSourceCode(QOpenGLShader::Vertex, "#version 330 core\n" + m_vertexShader); - program.addShaderFromSourceCode(QOpenGLShader::Fragment, "#version 330\n#define ENABLE_" + effectName + "\n" + m_fragmentShader); // In range std::unordered_map effects = { { effect, 4.6 } }; - program.bind(); - manager.setUniforms(&program, 0, effects); + QOpenGLShaderProgram *program = manager.getShaderProgram(effects); + program->bind(); + manager.setUniforms(program, 0, effects); manager.getUniformValuesForEffects(effects, values); GLfloat value = 0.0f; - glF.glGetUniformfv(program.programId(), program.uniformLocation(uniformName), &value); + glF.glGetUniformfv(program->programId(), program->uniformLocation(uniformName), &value); ASSERT_EQ(value, 0.046f); ASSERT_EQ(values.at(effect), value); // Below the minimum effects[effect] = -102.9; - program.bind(); - manager.setUniforms(&program, 0, effects); + program = manager.getShaderProgram(effects); + program->bind(); + manager.setUniforms(program, 0, effects); manager.getUniformValuesForEffects(effects, values); value = 0.0f; - glF.glGetUniformfv(program.programId(), program.uniformLocation(uniformName), &value); + glF.glGetUniformfv(program->programId(), program->uniformLocation(uniformName), &value); ASSERT_EQ(value, -1.0f); ASSERT_EQ(values.at(effect), value); // Above the maximum effects[effect] = 353.2; - program.bind(); - manager.setUniforms(&program, 0, effects); + program = manager.getShaderProgram(effects); + program->bind(); + manager.setUniforms(program, 0, effects); manager.getUniformValuesForEffects(effects, values); value = 0.0f; - glF.glGetUniformfv(program.programId(), program.uniformLocation(uniformName), &value); + glF.glGetUniformfv(program->programId(), program->uniformLocation(uniformName), &value); ASSERT_EQ(value, 1.0f); ASSERT_EQ(values.at(effect), value); - program.release(); + program->release(); } TEST_F(ShaderManagerTest, GhostEffectValue) @@ -246,42 +229,40 @@ TEST_F(ShaderManagerTest, GhostEffectValue) QOpenGLFunctions glF(&m_context); glF.initializeOpenGLFunctions(); ShaderManager manager; - QOpenGLShaderProgram program; - program.addShaderFromSourceCode(QOpenGLShader::Vertex, "#version 330 core\n" + m_vertexShader); - program.addShaderFromSourceCode(QOpenGLShader::Fragment, "#version 330\n#define ENABLE_" + effectName + "\n" + m_fragmentShader); // In range std::unordered_map effects = { { effect, 58.5 } }; - program.bind(); - manager.setUniforms(&program, 0, effects); + QOpenGLShaderProgram *program = manager.getShaderProgram(effects); + program->bind(); + manager.setUniforms(program, 0, effects); manager.getUniformValuesForEffects(effects, values); GLfloat value = 0.0f; - glF.glGetUniformfv(program.programId(), program.uniformLocation(uniformName), &value); + glF.glGetUniformfv(program->programId(), program->uniformLocation(uniformName), &value); ASSERT_EQ(std::round(value * 1000.0f) / 1000.0f, 0.415f); ASSERT_EQ(values.at(effect), value); // Below the minimum effects[effect] = -20.8; - program.bind(); - manager.setUniforms(&program, 0, effects); + program->bind(); + manager.setUniforms(program, 0, effects); manager.getUniformValuesForEffects(effects, values); value = 0.0f; - glF.glGetUniformfv(program.programId(), program.uniformLocation(uniformName), &value); + glF.glGetUniformfv(program->programId(), program->uniformLocation(uniformName), &value); ASSERT_EQ(value, 1.0f); ASSERT_EQ(values.at(effect), value); // Above the maximum effects[effect] = 248.2; - program.bind(); - manager.setUniforms(&program, 0, effects); + program->bind(); + manager.setUniforms(program, 0, effects); manager.getUniformValuesForEffects(effects, values); value = 0.0f; - glF.glGetUniformfv(program.programId(), program.uniformLocation(uniformName), &value); + glF.glGetUniformfv(program->programId(), program->uniformLocation(uniformName), &value); ASSERT_EQ(value, 0.0f); ASSERT_EQ(values.at(effect), value); - program.release(); + program->release(); } From 5f231097ba8477de57f7f8241feb3097fccc2d29 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Sun, 27 Oct 2024 16:14:24 +0100 Subject: [PATCH 03/18] test: Fix transparent pixels in fuzzyCompareImages() --- test/common.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/common.h b/test/common.h index 847aa84..36f354b 100644 --- a/test/common.h +++ b/test/common.h @@ -28,7 +28,7 @@ double fuzzyCompareImages(const QImage &a, const QImage &b) for (y = 0; y < a.height(); y++) { for (x = 0; x < a.width(); x++) { - if (a.pixel(x, y) != b.pixel(x, y)) + if (a.pixelColor(x, y).rgba() != b.pixelColor(x, y).rgba()) c++; } } From 56d97901e098a4f260a06dcc12fd65ec34508f3a Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Sun, 27 Oct 2024 16:15:21 +0100 Subject: [PATCH 04/18] Fix TargetPainter test --- test/targetpainter/targetpainter_test.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/test/targetpainter/targetpainter_test.cpp b/test/targetpainter/targetpainter_test.cpp index 57175be..4664b45 100644 --- a/test/targetpainter/targetpainter_test.cpp +++ b/test/targetpainter/targetpainter_test.cpp @@ -101,12 +101,7 @@ TEST_F(TargetPainterTest, Paint) effects.clear(); // Compare with reference image - QBuffer refBuffer1; - fbo.toImage().save(&refBuffer1, "png"); - QFile ref1("color_effects.png"); - ref1.open(QFile::ReadOnly); - refBuffer1.open(QBuffer::ReadOnly); - ASSERT_EQ(ref1.readAll(), refBuffer1.readAll()); + ASSERT_LE(fuzzyCompareImages(fbo.toImage(), QImage("color_effects.png")), 0.04); // Release fbo.release(); From f851fb9611f7671dd0d5656ab835068d1511a3ba Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Sun, 27 Oct 2024 16:25:03 +0100 Subject: [PATCH 05/18] Implement the fisheye effect --- src/shadermanager.cpp | 21 +++++++--- src/shadermanager.h | 3 +- src/shaders/sprite.frag | 15 +++++++ test/shadermanager/shadermanager_test.cpp | 48 ++++++++++++++++++++++ test/shape_changing_effects.png | Bin 0 -> 356 bytes test/targetpainter/targetpainter_test.cpp | 17 ++++++++ 6 files changed, 97 insertions(+), 7 deletions(-) create mode 100644 test/shape_changing_effects.png diff --git a/src/shadermanager.cpp b/src/shadermanager.cpp index d3442b5..61b99c2 100644 --- a/src/shadermanager.cpp +++ b/src/shadermanager.cpp @@ -32,20 +32,29 @@ static const QString SHADER_PREFIX = "#version 140\n"; static const char *TEXTURE_UNIT_UNIFORM = "u_skin"; -static const std::unordered_map - EFFECT_TO_NAME = { { ShaderManager::Effect::Color, "color" }, { ShaderManager::Effect::Brightness, "brightness" }, { ShaderManager::Effect::Ghost, "ghost" } }; +static const std::unordered_map EFFECT_TO_NAME = { + { ShaderManager::Effect::Color, "color" }, + { ShaderManager::Effect::Brightness, "brightness" }, + { ShaderManager::Effect::Ghost, "ghost" }, + { ShaderManager::Effect::Fisheye, "fisheye" } +}; -static const std::unordered_map - EFFECT_UNIFORM_NAME = { { ShaderManager::Effect::Color, "u_color" }, { ShaderManager::Effect::Brightness, "u_brightness" }, { ShaderManager::Effect::Ghost, "u_ghost" } }; +static const std::unordered_map EFFECT_UNIFORM_NAME = { + { ShaderManager::Effect::Color, "u_color" }, + { ShaderManager::Effect::Brightness, "u_brightness" }, + { ShaderManager::Effect::Ghost, "u_ghost" }, + { ShaderManager::Effect::Fisheye, "u_fisheye" } +}; static const std::unordered_map EFFECT_CONVERTER = { { ShaderManager::Effect::Color, [](float x) { return wrapClamp(x / 200.0f, 0.0f, 1.0f); } }, { ShaderManager::Effect::Brightness, [](float x) { return std::clamp(x, -100.0f, 100.0f) / 100.0f; } }, - { ShaderManager::Effect::Ghost, [](float x) { return 1 - std::clamp(x, 0.0f, 100.0f) / 100.0f; } } + { ShaderManager::Effect::Ghost, [](float x) { return 1 - std::clamp(x, 0.0f, 100.0f) / 100.0f; } }, + { ShaderManager::Effect::Fisheye, [](float x) { return std::max(0.0f, (x + 100.0f) / 100.0f); } } }; static const std::unordered_map - EFFECT_SHAPE_CHANGES = { { ShaderManager::Effect::Color, false }, { ShaderManager::Effect::Brightness, false }, { ShaderManager::Effect::Ghost, false } }; + EFFECT_SHAPE_CHANGES = { { ShaderManager::Effect::Color, false }, { ShaderManager::Effect::Brightness, false }, { ShaderManager::Effect::Ghost, false }, { ShaderManager::Effect::Fisheye, true } }; Q_GLOBAL_STATIC(ShaderManager, globalInstance) diff --git a/src/shadermanager.h b/src/shadermanager.h index edcb614..277d822 100644 --- a/src/shadermanager.h +++ b/src/shadermanager.h @@ -18,7 +18,8 @@ class ShaderManager : public QObject { Color = 1 << 0, Brightness = 1 << 1, - Ghost = 1 << 2 + Ghost = 1 << 2, + Fisheye = 1 << 3 }; explicit ShaderManager(QObject *parent = nullptr); diff --git a/src/shaders/sprite.frag b/src/shaders/sprite.frag index 80dbdf7..77e1fa1 100644 --- a/src/shaders/sprite.frag +++ b/src/shaders/sprite.frag @@ -18,6 +18,10 @@ uniform float u_brightness; uniform float u_ghost; #endif // ENABLE_ghost +#ifdef ENABLE_fisheye +uniform float u_fisheye; +#endif // ENABLE_fisheye + varying vec2 v_texCoord; uniform sampler2D u_skin; @@ -89,6 +93,17 @@ void main() { vec2 texcoord0 = v_texCoord; + #ifdef ENABLE_fisheye + { + vec2 vec = (texcoord0 - kCenter) / kCenter; + float vecLength = length(vec); + float r = pow(min(vecLength, 1.0), u_fisheye) * max(1.0, vecLength); + vec2 unit = vec / vecLength; + + texcoord0 = kCenter + r * unit * kCenter; + } + #endif // ENABLE_fisheye + gl_FragColor = texture2D(u_skin, texcoord0); #if defined(ENABLE_color) || defined(ENABLE_brightness) diff --git a/test/shadermanager/shadermanager_test.cpp b/test/shadermanager/shadermanager_test.cpp index f55b774..4da7164 100644 --- a/test/shadermanager/shadermanager_test.cpp +++ b/test/shadermanager/shadermanager_test.cpp @@ -266,3 +266,51 @@ TEST_F(ShaderManagerTest, GhostEffectValue) program->release(); } + +TEST_F(ShaderManagerTest, FisheyeEffectValue) +{ + static const QString effectName = "fisheye"; + static const QString uniformName = "u_" + effectName; + static const ShaderManager::Effect effect = ShaderManager::Effect::Fisheye; + + std::unordered_map values; + + QOpenGLFunctions glF(&m_context); + glF.initializeOpenGLFunctions(); + ShaderManager manager; + + // In range + std::unordered_map effects = { { effect, 58.5 } }; + QOpenGLShaderProgram *program = manager.getShaderProgram(effects); + program->bind(); + manager.setUniforms(program, 0, effects); + manager.getUniformValuesForEffects(effects, values); + + GLfloat value = 0.0f; + glF.glGetUniformfv(program->programId(), program->uniformLocation(uniformName), &value); + ASSERT_EQ(value, 1.585f); + ASSERT_EQ(values.at(effect), value); + + effects[effect] = -20.8; + program->bind(); + manager.setUniforms(program, 0, effects); + manager.getUniformValuesForEffects(effects, values); + + value = 0.0f; + glF.glGetUniformfv(program->programId(), program->uniformLocation(uniformName), &value); + ASSERT_EQ(value, 0.792f); + ASSERT_EQ(values.at(effect), value); + + // Below the minimum + effects[effect] = -101; + program->bind(); + manager.setUniforms(program, 0, effects); + manager.getUniformValuesForEffects(effects, values); + + value = 0.0f; + glF.glGetUniformfv(program->programId(), program->uniformLocation(uniformName), &value); + ASSERT_EQ(value, 0.0f); + ASSERT_EQ(values.at(effect), value); + + program->release(); +} diff --git a/test/shape_changing_effects.png b/test/shape_changing_effects.png new file mode 100644 index 0000000000000000000000000000000000000000..02a9d0604e139aed5ca16d5406342112d5cc8cec GIT binary patch literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^8bEBr!3HEncK&z(q&N#aB8wRq_>O=u<5X=vX$A&H zF;5rAkc`H+w>I)0bPzfI@w$jATz%?*irW8%n-`8M396lPxm5jr z(zV?$Vn6-v(bv6y=Rz32pu^@xR_y+ng$C)-UN_d%_}M*ro|2Pxm`VQbHM_lM+n)WA z`2H@`eoL2Q;maADeJ5^=jJB$DKiSF4tsWbnuC?7qiq-dwl& z9?Pu_2P!9STK#js$M#Db!alfe$ysq&YmMj^L8h$&E1rff`11SMY6ngbr`16hr1A7> zhnKO7!W)G^9PKp+IP%3_B{#0Fcw1t>gfFvMeUE5P*Ot#NPXZV4LUk1$zgxCpwXMkQ uyQ^wz`_4wL{jXE=XIJdQ$A>vg-tk`jq94;!U}XplHU>{uKbLh*2~7ZGm7AFW literal 0 HcmV?d00001 diff --git a/test/targetpainter/targetpainter_test.cpp b/test/targetpainter/targetpainter_test.cpp index 4664b45..6415dda 100644 --- a/test/targetpainter/targetpainter_test.cpp +++ b/test/targetpainter/targetpainter_test.cpp @@ -103,6 +103,23 @@ TEST_F(TargetPainterTest, Paint) // Compare with reference image ASSERT_LE(fuzzyCompareImages(fbo.toImage(), QImage("color_effects.png")), 0.04); + // Paint with shape changing effects + glF.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); + glF.glClear(GL_COLOR_BUFFER_BIT); + effects.clear(); + effects[ShaderManager::Effect::Fisheye] = 46; + /*effects[ShaderManager::Effect::Whirl] = 50; + effects[ShaderManager::Effect::Pixelate] = 25; + effects[ShaderManager::Effect::Mosaic] = 30;*/ + EXPECT_CALL(target, texture()).WillOnce(Return(texture)); + EXPECT_CALL(target, graphicEffects()).WillOnce(ReturnRef(effects)); + targetPainter.paint(&painter); + painter.endFrame(); + effects.clear(); + + // Compare with reference image + ASSERT_LE(fuzzyCompareImages(fbo.toImage(), QImage("shape_changing_effects.png")), 0.04); + // Release fbo.release(); refFbo.release(); From ca7ab447d0800f7ccb9aa162ecf05f0a07df033c Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Sun, 27 Oct 2024 17:50:00 +0100 Subject: [PATCH 06/18] Implement the whirl effect --- src/shadermanager.cpp | 20 +++++++++--- src/shadermanager.h | 3 +- src/shaders/sprite.frag | 22 +++++++++++++ test/shadermanager/shadermanager_test.cpp | 37 ++++++++++++++++++++++ test/shape_changing_effects.png | Bin 356 -> 361 bytes test/targetpainter/targetpainter_test.cpp | 4 +-- 6 files changed, 78 insertions(+), 8 deletions(-) diff --git a/src/shadermanager.cpp b/src/shadermanager.cpp index 61b99c2..9bbd097 100644 --- a/src/shadermanager.cpp +++ b/src/shadermanager.cpp @@ -12,6 +12,8 @@ using namespace scratchcpprender; using ConverterFunc = float (*)(float); +static const double pi = std::acos(-1); // TODO: Use std::numbers::pi in C++20 + static float wrapClamp(float n, float min, float max) { // TODO: Move this to a separate class @@ -36,25 +38,33 @@ static const std::unordered_map EFFECT_TO_N { ShaderManager::Effect::Color, "color" }, { ShaderManager::Effect::Brightness, "brightness" }, { ShaderManager::Effect::Ghost, "ghost" }, - { ShaderManager::Effect::Fisheye, "fisheye" } + { ShaderManager::Effect::Fisheye, "fisheye" }, + { ShaderManager::Effect::Whirl, "whirl" } }; static const std::unordered_map EFFECT_UNIFORM_NAME = { { ShaderManager::Effect::Color, "u_color" }, { ShaderManager::Effect::Brightness, "u_brightness" }, { ShaderManager::Effect::Ghost, "u_ghost" }, - { ShaderManager::Effect::Fisheye, "u_fisheye" } + { ShaderManager::Effect::Fisheye, "u_fisheye" }, + { ShaderManager::Effect::Whirl, "u_whirl" } }; static const std::unordered_map EFFECT_CONVERTER = { { ShaderManager::Effect::Color, [](float x) { return wrapClamp(x / 200.0f, 0.0f, 1.0f); } }, { ShaderManager::Effect::Brightness, [](float x) { return std::clamp(x, -100.0f, 100.0f) / 100.0f; } }, { ShaderManager::Effect::Ghost, [](float x) { return 1 - std::clamp(x, 0.0f, 100.0f) / 100.0f; } }, - { ShaderManager::Effect::Fisheye, [](float x) { return std::max(0.0f, (x + 100.0f) / 100.0f); } } + { ShaderManager::Effect::Fisheye, [](float x) { return std::max(0.0f, (x + 100.0f) / 100.0f); } }, + { ShaderManager::Effect::Whirl, [](float x) { return x * (float)pi / 180.0f; } } }; -static const std::unordered_map - EFFECT_SHAPE_CHANGES = { { ShaderManager::Effect::Color, false }, { ShaderManager::Effect::Brightness, false }, { ShaderManager::Effect::Ghost, false }, { ShaderManager::Effect::Fisheye, true } }; +static const std::unordered_map EFFECT_SHAPE_CHANGES = { + { ShaderManager::Effect::Color, false }, + { ShaderManager::Effect::Brightness, false }, + { ShaderManager::Effect::Ghost, false }, + { ShaderManager::Effect::Fisheye, true }, + { ShaderManager::Effect::Whirl, true } +}; Q_GLOBAL_STATIC(ShaderManager, globalInstance) diff --git a/src/shadermanager.h b/src/shadermanager.h index 277d822..3afc8d9 100644 --- a/src/shadermanager.h +++ b/src/shadermanager.h @@ -19,7 +19,8 @@ class ShaderManager : public QObject Color = 1 << 0, Brightness = 1 << 1, Ghost = 1 << 2, - Fisheye = 1 << 3 + Fisheye = 1 << 3, + Whirl = 1 << 4 }; explicit ShaderManager(QObject *parent = nullptr); diff --git a/src/shaders/sprite.frag b/src/shaders/sprite.frag index 77e1fa1..d5ad92b 100644 --- a/src/shaders/sprite.frag +++ b/src/shaders/sprite.frag @@ -22,6 +22,10 @@ uniform float u_ghost; uniform float u_fisheye; #endif // ENABLE_fisheye +#ifdef ENABLE_whirl +uniform float u_whirl; +#endif // ENABLE_whirl + varying vec2 v_texCoord; uniform sampler2D u_skin; @@ -93,6 +97,24 @@ void main() { vec2 texcoord0 = v_texCoord; + #ifdef ENABLE_whirl + { + const float kRadius = 0.5; + vec2 offset = texcoord0 - kCenter; + float offsetMagnitude = length(offset); + float whirlFactor = max(1.0 - (offsetMagnitude / kRadius), 0.0); + float whirlActual = u_whirl * whirlFactor * whirlFactor; + float sinWhirl = sin(whirlActual); + float cosWhirl = cos(whirlActual); + mat2 rotationMatrix = mat2( + cosWhirl, -sinWhirl, + sinWhirl, cosWhirl + ); + + texcoord0 = rotationMatrix * offset + kCenter; + } + #endif // ENABLE_whirl + #ifdef ENABLE_fisheye { vec2 vec = (texcoord0 - kCenter) / kCenter; diff --git a/test/shadermanager/shadermanager_test.cpp b/test/shadermanager/shadermanager_test.cpp index 4da7164..4e24303 100644 --- a/test/shadermanager/shadermanager_test.cpp +++ b/test/shadermanager/shadermanager_test.cpp @@ -314,3 +314,40 @@ TEST_F(ShaderManagerTest, FisheyeEffectValue) program->release(); } + +TEST_F(ShaderManagerTest, WhirlEffectValue) +{ + static const QString effectName = "whirl"; + static const QString uniformName = "u_" + effectName; + static const ShaderManager::Effect effect = ShaderManager::Effect::Whirl; + + std::unordered_map values; + + QOpenGLFunctions glF(&m_context); + glF.initializeOpenGLFunctions(); + ShaderManager manager; + + // In range + std::unordered_map effects = { { effect, 58.5 } }; + QOpenGLShaderProgram *program = manager.getShaderProgram(effects); + program->bind(); + manager.setUniforms(program, 0, effects); + manager.getUniformValuesForEffects(effects, values); + + GLfloat value = 0.0f; + glF.glGetUniformfv(program->programId(), program->uniformLocation(uniformName), &value); + ASSERT_EQ(std::round(value * 1000) / 1000, 1.021f); + ASSERT_EQ(values.at(effect), value); + + effects[effect] = -20.8; + program->bind(); + manager.setUniforms(program, 0, effects); + manager.getUniformValuesForEffects(effects, values); + + value = 0.0f; + glF.glGetUniformfv(program->programId(), program->uniformLocation(uniformName), &value); + ASSERT_EQ(std::round(value * 1000) / 1000, -0.363f); + ASSERT_EQ(values.at(effect), value); + + program->release(); +} diff --git a/test/shape_changing_effects.png b/test/shape_changing_effects.png index 02a9d0604e139aed5ca16d5406342112d5cc8cec..b4ccfbd33f653afa88da74297f3f6311c755f411 100644 GIT binary patch delta 313 zcmaFD^pa_UWxcegi(^PeS8m`u_dK*+u^%8A{f2b+-!!S;ueh*N>S~TI z-PS(6&4%Xu829c~KeUQLap{<|O_8x#TRM41$%zdMCtY7>Du1_3DDO+h#csdWJp^hY zPz!-o*{-wR1lq8`d6BZK`M*fF(y&(WMYL?F!z!#5^brEJ5UAxKq=MC4JR4Fa_g zsD(f+amU?uuq~@S6x-dZeSMD2S*`ypeEhmy;p4*yH0}-6^e Date: Sun, 27 Oct 2024 18:10:38 +0100 Subject: [PATCH 07/18] Add skin size uniform --- src/penlayer.cpp | 2 +- src/shadermanager.cpp | 6 ++++- src/shadermanager.h | 5 ++-- src/targetpainter.cpp | 2 +- test/shadermanager/shadermanager_test.cpp | 30 +++++++++++------------ test/targetpainter/targetpainter_test.cpp | 3 +++ 6 files changed, 28 insertions(+), 20 deletions(-) diff --git a/src/penlayer.cpp b/src/penlayer.cpp index 031d504..401d461 100644 --- a/src/penlayer.cpp +++ b/src/penlayer.cpp @@ -303,7 +303,7 @@ void PenLayer::stamp(IRenderedTarget *target) m_glF->glBindVertexArray(m_vao); m_glF->glActiveTexture(GL_TEXTURE0); m_glF->glBindTexture(GL_TEXTURE_2D, texture.handle()); - shaderManager->setUniforms(shaderProgram, 0, effects); // set texture and effect uniforms + shaderManager->setUniforms(shaderProgram, 0, texture.size(), effects); // set texture and effect uniforms m_glF->glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); m_painter->endFrame(); diff --git a/src/shadermanager.cpp b/src/shadermanager.cpp index 9bbd097..5567dd9 100644 --- a/src/shadermanager.cpp +++ b/src/shadermanager.cpp @@ -33,6 +33,7 @@ static const QString SHADER_PREFIX = "#version 140\n"; #endif static const char *TEXTURE_UNIT_UNIFORM = "u_skin"; +static const char *SKIN_SIZE_UNIFORM = "u_skinSize"; static const std::unordered_map EFFECT_TO_NAME = { { ShaderManager::Effect::Color, "color" }, @@ -146,11 +147,14 @@ void ShaderManager::getUniformValuesForEffects(const std::unordered_map &effectValues) +void ShaderManager::setUniforms(QOpenGLShaderProgram *program, int textureUnit, const QSize skinSize, const std::unordered_map &effectValues) { // Set the texture unit program->setUniformValue(TEXTURE_UNIT_UNIFORM, textureUnit); + // Set skin size + program->setUniformValue(SKIN_SIZE_UNIFORM, QVector2D(skinSize.width(), skinSize.height())); + // Set uniform values std::unordered_map values; getUniformValuesForEffects(effectValues, values); diff --git a/src/shadermanager.h b/src/shadermanager.h index 3afc8d9..5e20fbd 100644 --- a/src/shadermanager.h +++ b/src/shadermanager.h @@ -20,7 +20,8 @@ class ShaderManager : public QObject Brightness = 1 << 1, Ghost = 1 << 2, Fisheye = 1 << 3, - Whirl = 1 << 4 + Whirl = 1 << 4, + Pixelate = 1 << 5 }; explicit ShaderManager(QObject *parent = nullptr); @@ -29,7 +30,7 @@ class ShaderManager : public QObject QOpenGLShaderProgram *getShaderProgram(const std::unordered_map &effectValues); static void getUniformValuesForEffects(const std::unordered_map &effectValues, std::unordered_map &dst); - void setUniforms(QOpenGLShaderProgram *program, int textureUnit, const std::unordered_map &effectValues); + void setUniforms(QOpenGLShaderProgram *program, int textureUnit, const QSize skinSize, const std::unordered_map &effectValues); private: struct Registrar diff --git a/src/targetpainter.cpp b/src/targetpainter.cpp index bd1cc40..d87d175 100644 --- a/src/targetpainter.cpp +++ b/src/targetpainter.cpp @@ -94,7 +94,7 @@ void TargetPainter::paint(QNanoPainter *painter) glF.glBindVertexArray(VAO); glF.glActiveTexture(GL_TEXTURE0); glF.glBindTexture(GL_TEXTURE_2D, texture.handle()); - shaderManager->setUniforms(shaderProgram, 0, effects); // set texture and effect uniforms + shaderManager->setUniforms(shaderProgram, 0, m_target->cpuTexture().size(), effects); // set texture and effect uniforms glF.glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); // Process the resulting texture diff --git a/test/shadermanager/shadermanager_test.cpp b/test/shadermanager/shadermanager_test.cpp index 4e24303..972eeeb 100644 --- a/test/shadermanager/shadermanager_test.cpp +++ b/test/shadermanager/shadermanager_test.cpp @@ -99,7 +99,7 @@ TEST_F(ShaderManagerTest, SetUniforms) std::unordered_map effects = { { ShaderManager::Effect::Color, 64.9 }, { ShaderManager::Effect::Ghost, 12.5 } }; QOpenGLShaderProgram *program = manager.getShaderProgram(effects); program->bind(); - manager.setUniforms(program, 4, effects); + manager.setUniforms(program, 4, QSize(), effects); GLint texUnit = -1; glF.glGetUniformiv(program->programId(), program->uniformLocation("u_skin"), &texUnit); @@ -132,7 +132,7 @@ TEST_F(ShaderManagerTest, ColorEffectValue) std::unordered_map effects = { { effect, 64.9 } }; QOpenGLShaderProgram *program = manager.getShaderProgram(effects); program->bind(); - manager.setUniforms(program, 0, effects); + manager.setUniforms(program, 0, QSize(), effects); manager.getUniformValuesForEffects(effects, values); GLfloat value = 0.0f; @@ -144,7 +144,7 @@ TEST_F(ShaderManagerTest, ColorEffectValue) effects[effect] = -395.7; program = manager.getShaderProgram(effects); program->bind(); - manager.setUniforms(program, 0, effects); + manager.setUniforms(program, 0, QSize(), effects); manager.getUniformValuesForEffects(effects, values); value = 0.0f; @@ -156,7 +156,7 @@ TEST_F(ShaderManagerTest, ColorEffectValue) effects[effect] = 579.05; program = manager.getShaderProgram(effects); program->bind(); - manager.setUniforms(program, 0, effects); + manager.setUniforms(program, 0, QSize(), effects); manager.getUniformValuesForEffects(effects, values); value = 0.0f; @@ -183,7 +183,7 @@ TEST_F(ShaderManagerTest, BrightnessEffectValue) std::unordered_map effects = { { effect, 4.6 } }; QOpenGLShaderProgram *program = manager.getShaderProgram(effects); program->bind(); - manager.setUniforms(program, 0, effects); + manager.setUniforms(program, 0, QSize(), effects); manager.getUniformValuesForEffects(effects, values); GLfloat value = 0.0f; @@ -195,7 +195,7 @@ TEST_F(ShaderManagerTest, BrightnessEffectValue) effects[effect] = -102.9; program = manager.getShaderProgram(effects); program->bind(); - manager.setUniforms(program, 0, effects); + manager.setUniforms(program, 0, QSize(), effects); manager.getUniformValuesForEffects(effects, values); value = 0.0f; @@ -207,7 +207,7 @@ TEST_F(ShaderManagerTest, BrightnessEffectValue) effects[effect] = 353.2; program = manager.getShaderProgram(effects); program->bind(); - manager.setUniforms(program, 0, effects); + manager.setUniforms(program, 0, QSize(), effects); manager.getUniformValuesForEffects(effects, values); value = 0.0f; @@ -234,7 +234,7 @@ TEST_F(ShaderManagerTest, GhostEffectValue) std::unordered_map effects = { { effect, 58.5 } }; QOpenGLShaderProgram *program = manager.getShaderProgram(effects); program->bind(); - manager.setUniforms(program, 0, effects); + manager.setUniforms(program, 0, QSize(), effects); manager.getUniformValuesForEffects(effects, values); GLfloat value = 0.0f; @@ -245,7 +245,7 @@ TEST_F(ShaderManagerTest, GhostEffectValue) // Below the minimum effects[effect] = -20.8; program->bind(); - manager.setUniforms(program, 0, effects); + manager.setUniforms(program, 0, QSize(), effects); manager.getUniformValuesForEffects(effects, values); value = 0.0f; @@ -256,7 +256,7 @@ TEST_F(ShaderManagerTest, GhostEffectValue) // Above the maximum effects[effect] = 248.2; program->bind(); - manager.setUniforms(program, 0, effects); + manager.setUniforms(program, 0, QSize(), effects); manager.getUniformValuesForEffects(effects, values); value = 0.0f; @@ -283,7 +283,7 @@ TEST_F(ShaderManagerTest, FisheyeEffectValue) std::unordered_map effects = { { effect, 58.5 } }; QOpenGLShaderProgram *program = manager.getShaderProgram(effects); program->bind(); - manager.setUniforms(program, 0, effects); + manager.setUniforms(program, 0, QSize(), effects); manager.getUniformValuesForEffects(effects, values); GLfloat value = 0.0f; @@ -293,7 +293,7 @@ TEST_F(ShaderManagerTest, FisheyeEffectValue) effects[effect] = -20.8; program->bind(); - manager.setUniforms(program, 0, effects); + manager.setUniforms(program, 0, QSize(), effects); manager.getUniformValuesForEffects(effects, values); value = 0.0f; @@ -304,7 +304,7 @@ TEST_F(ShaderManagerTest, FisheyeEffectValue) // Below the minimum effects[effect] = -101; program->bind(); - manager.setUniforms(program, 0, effects); + manager.setUniforms(program, 0, QSize(), effects); manager.getUniformValuesForEffects(effects, values); value = 0.0f; @@ -331,7 +331,7 @@ TEST_F(ShaderManagerTest, WhirlEffectValue) std::unordered_map effects = { { effect, 58.5 } }; QOpenGLShaderProgram *program = manager.getShaderProgram(effects); program->bind(); - manager.setUniforms(program, 0, effects); + manager.setUniforms(program, 0, QSize(), effects); manager.getUniformValuesForEffects(effects, values); GLfloat value = 0.0f; @@ -341,7 +341,7 @@ TEST_F(ShaderManagerTest, WhirlEffectValue) effects[effect] = -20.8; program->bind(); - manager.setUniforms(program, 0, effects); + manager.setUniforms(program, 0, QSize(), effects); manager.getUniformValuesForEffects(effects, values); value = 0.0f; diff --git a/test/targetpainter/targetpainter_test.cpp b/test/targetpainter/targetpainter_test.cpp index 4d7376a..8f7ee4c 100644 --- a/test/targetpainter/targetpainter_test.cpp +++ b/test/targetpainter/targetpainter_test.cpp @@ -81,6 +81,7 @@ TEST_F(TargetPainterTest, Paint) Texture texture(refFbo.texture(), refFbo.size()); std::unordered_map effects; EXPECT_CALL(target, texture()).WillOnce(Return(texture)); + EXPECT_CALL(target, cpuTexture()).WillOnce(ReturnRef(texture)); EXPECT_CALL(target, graphicEffects()).WillOnce(ReturnRef(effects)); targetPainter.paint(&painter); painter.endFrame(); @@ -95,6 +96,7 @@ TEST_F(TargetPainterTest, Paint) effects[ShaderManager::Effect::Brightness] = 20; effects[ShaderManager::Effect::Ghost] = 84; EXPECT_CALL(target, texture()).WillOnce(Return(texture)); + EXPECT_CALL(target, cpuTexture()).WillOnce(ReturnRef(texture)); EXPECT_CALL(target, graphicEffects()).WillOnce(ReturnRef(effects)); targetPainter.paint(&painter); painter.endFrame(); @@ -112,6 +114,7 @@ TEST_F(TargetPainterTest, Paint) /*effects[ShaderManager::Effect::Pixelate] = 25; effects[ShaderManager::Effect::Mosaic] = 30;*/ EXPECT_CALL(target, texture()).WillOnce(Return(texture)); + EXPECT_CALL(target, cpuTexture()).WillOnce(ReturnRef(texture)); EXPECT_CALL(target, graphicEffects()).WillOnce(ReturnRef(effects)); targetPainter.paint(&painter); painter.endFrame(); From fc4b640b0358169409445a0d7d8e0f4bd80ccdc8 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Sun, 27 Oct 2024 18:51:33 +0100 Subject: [PATCH 08/18] Implement the pixelate effect --- src/shadermanager.cpp | 24 +++++--------- src/shaders/sprite.frag | 13 ++++++++ test/penlayer/penlayer_test.cpp | 1 + test/shadermanager/shadermanager_test.cpp | 37 ++++++++++++++++++++++ test/shape_changing_effects.png | Bin 361 -> 383 bytes test/stamp.png | Bin 57950 -> 58286 bytes test/stamp_hq.png | Bin 203265 -> 199344 bytes test/targetpainter/targetpainter_test.cpp | 4 +-- 8 files changed, 61 insertions(+), 18 deletions(-) diff --git a/src/shadermanager.cpp b/src/shadermanager.cpp index 5567dd9..afe03f7 100644 --- a/src/shadermanager.cpp +++ b/src/shadermanager.cpp @@ -36,19 +36,13 @@ static const char *TEXTURE_UNIT_UNIFORM = "u_skin"; static const char *SKIN_SIZE_UNIFORM = "u_skinSize"; static const std::unordered_map EFFECT_TO_NAME = { - { ShaderManager::Effect::Color, "color" }, - { ShaderManager::Effect::Brightness, "brightness" }, - { ShaderManager::Effect::Ghost, "ghost" }, - { ShaderManager::Effect::Fisheye, "fisheye" }, - { ShaderManager::Effect::Whirl, "whirl" } + { ShaderManager::Effect::Color, "color" }, { ShaderManager::Effect::Brightness, "brightness" }, { ShaderManager::Effect::Ghost, "ghost" }, + { ShaderManager::Effect::Fisheye, "fisheye" }, { ShaderManager::Effect::Whirl, "whirl" }, { ShaderManager::Effect::Pixelate, "pixelate" } }; static const std::unordered_map EFFECT_UNIFORM_NAME = { - { ShaderManager::Effect::Color, "u_color" }, - { ShaderManager::Effect::Brightness, "u_brightness" }, - { ShaderManager::Effect::Ghost, "u_ghost" }, - { ShaderManager::Effect::Fisheye, "u_fisheye" }, - { ShaderManager::Effect::Whirl, "u_whirl" } + { ShaderManager::Effect::Color, "u_color" }, { ShaderManager::Effect::Brightness, "u_brightness" }, { ShaderManager::Effect::Ghost, "u_ghost" }, + { ShaderManager::Effect::Fisheye, "u_fisheye" }, { ShaderManager::Effect::Whirl, "u_whirl" }, { ShaderManager::Effect::Pixelate, "u_pixelate" } }; static const std::unordered_map EFFECT_CONVERTER = { @@ -56,15 +50,13 @@ static const std::unordered_map EFFECT_CON { ShaderManager::Effect::Brightness, [](float x) { return std::clamp(x, -100.0f, 100.0f) / 100.0f; } }, { ShaderManager::Effect::Ghost, [](float x) { return 1 - std::clamp(x, 0.0f, 100.0f) / 100.0f; } }, { ShaderManager::Effect::Fisheye, [](float x) { return std::max(0.0f, (x + 100.0f) / 100.0f); } }, - { ShaderManager::Effect::Whirl, [](float x) { return x * (float)pi / 180.0f; } } + { ShaderManager::Effect::Whirl, [](float x) { return x * (float)pi / 180.0f; } }, + { ShaderManager::Effect::Pixelate, [](float x) { return std::abs(x) / 10.0f; } } }; static const std::unordered_map EFFECT_SHAPE_CHANGES = { - { ShaderManager::Effect::Color, false }, - { ShaderManager::Effect::Brightness, false }, - { ShaderManager::Effect::Ghost, false }, - { ShaderManager::Effect::Fisheye, true }, - { ShaderManager::Effect::Whirl, true } + { ShaderManager::Effect::Color, false }, { ShaderManager::Effect::Brightness, false }, { ShaderManager::Effect::Ghost, false }, + { ShaderManager::Effect::Fisheye, true }, { ShaderManager::Effect::Whirl, true }, { ShaderManager::Effect::Pixelate, true } }; Q_GLOBAL_STATIC(ShaderManager, globalInstance) diff --git a/src/shaders/sprite.frag b/src/shaders/sprite.frag index d5ad92b..1f7b421 100644 --- a/src/shaders/sprite.frag +++ b/src/shaders/sprite.frag @@ -26,6 +26,11 @@ uniform float u_fisheye; uniform float u_whirl; #endif // ENABLE_whirl +#ifdef ENABLE_pixelate +uniform float u_pixelate; +uniform vec2 u_skinSize; +#endif // ENABLE_pixelate + varying vec2 v_texCoord; uniform sampler2D u_skin; @@ -97,6 +102,14 @@ void main() { vec2 texcoord0 = v_texCoord; + #ifdef ENABLE_pixelate + { + // TODO: clean up "pixel" edges + vec2 pixelTexelSize = u_skinSize / u_pixelate; + texcoord0 = (floor(texcoord0 * pixelTexelSize) + kCenter) / pixelTexelSize; + } + #endif // ENABLE_pixelate + #ifdef ENABLE_whirl { const float kRadius = 0.5; diff --git a/test/penlayer/penlayer_test.cpp b/test/penlayer/penlayer_test.cpp index 9470f5b..fa55110 100644 --- a/test/penlayer/penlayer_test.cpp +++ b/test/penlayer/penlayer_test.cpp @@ -393,6 +393,7 @@ TEST_F(PenLayerTest, Stamp) targets.back()->updateCostume(sprite->sprite()->currentCostume().get()); targets.back()->setGraphicEffect(ShaderManager::Effect::Color, i * 25); targets.back()->setGraphicEffect(ShaderManager::Effect::Ghost, i * 5); + targets.back()->setGraphicEffect(ShaderManager::Effect::Pixelate, i * 25); sprite->setRenderedTarget(targets.back().get()); i++; } diff --git a/test/shadermanager/shadermanager_test.cpp b/test/shadermanager/shadermanager_test.cpp index 972eeeb..46e62bd 100644 --- a/test/shadermanager/shadermanager_test.cpp +++ b/test/shadermanager/shadermanager_test.cpp @@ -351,3 +351,40 @@ TEST_F(ShaderManagerTest, WhirlEffectValue) program->release(); } + +TEST_F(ShaderManagerTest, PixelateEffectValue) +{ + static const QString effectName = "pixelate"; + static const QString uniformName = "u_" + effectName; + static const ShaderManager::Effect effect = ShaderManager::Effect::Pixelate; + + std::unordered_map values; + + QOpenGLFunctions glF(&m_context); + glF.initializeOpenGLFunctions(); + ShaderManager manager; + + // In range + std::unordered_map effects = { { effect, 58.5 } }; + QOpenGLShaderProgram *program = manager.getShaderProgram(effects); + program->bind(); + manager.setUniforms(program, 0, QSize(), effects); + manager.getUniformValuesForEffects(effects, values); + + GLfloat value = 0.0f; + glF.glGetUniformfv(program->programId(), program->uniformLocation(uniformName), &value); + ASSERT_EQ(value, 5.85f); + ASSERT_EQ(values.at(effect), value); + + effects[effect] = -20.8; + program->bind(); + manager.setUniforms(program, 0, QSize(), effects); + manager.getUniformValuesForEffects(effects, values); + + value = 0.0f; + glF.glGetUniformfv(program->programId(), program->uniformLocation(uniformName), &value); + ASSERT_EQ(value, 2.08f); + ASSERT_EQ(values.at(effect), value); + + program->release(); +} diff --git a/test/shape_changing_effects.png b/test/shape_changing_effects.png index b4ccfbd33f653afa88da74297f3f6311c755f411..13e707984f7c01ef89396b940b24c2bad19c9f19 100644 GIT binary patch delta 335 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 z%0D+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 literal 57950 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�|J)0 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 KRF#BD@c#kSqws|Q literal 203265 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 z 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 z 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 h)gy`s0;H-2{GW Date: Sun, 27 Oct 2024 19:41:41 +0100 Subject: [PATCH 09/18] Implement the mosaic effect --- src/shadermanager.cpp | 15 +++--- src/shadermanager.h | 3 +- src/shaders/sprite.frag | 8 +++ test/shadermanager/shadermanager_test.cpp | 59 ++++++++++++++++++++++ test/shape_changing_effects.png | Bin 383 -> 403 bytes test/targetpainter/targetpainter_test.cpp | 2 +- 6 files changed, 78 insertions(+), 9 deletions(-) diff --git a/src/shadermanager.cpp b/src/shadermanager.cpp index afe03f7..c3baebc 100644 --- a/src/shadermanager.cpp +++ b/src/shadermanager.cpp @@ -36,13 +36,13 @@ static const char *TEXTURE_UNIT_UNIFORM = "u_skin"; static const char *SKIN_SIZE_UNIFORM = "u_skinSize"; static const std::unordered_map EFFECT_TO_NAME = { - { ShaderManager::Effect::Color, "color" }, { ShaderManager::Effect::Brightness, "brightness" }, { ShaderManager::Effect::Ghost, "ghost" }, - { ShaderManager::Effect::Fisheye, "fisheye" }, { ShaderManager::Effect::Whirl, "whirl" }, { ShaderManager::Effect::Pixelate, "pixelate" } + { ShaderManager::Effect::Color, "color" }, { ShaderManager::Effect::Brightness, "brightness" }, { ShaderManager::Effect::Ghost, "ghost" }, { ShaderManager::Effect::Fisheye, "fisheye" }, + { ShaderManager::Effect::Whirl, "whirl" }, { ShaderManager::Effect::Pixelate, "pixelate" }, { ShaderManager::Effect::Mosaic, "mosaic" } }; static const std::unordered_map EFFECT_UNIFORM_NAME = { - { ShaderManager::Effect::Color, "u_color" }, { ShaderManager::Effect::Brightness, "u_brightness" }, { ShaderManager::Effect::Ghost, "u_ghost" }, - { ShaderManager::Effect::Fisheye, "u_fisheye" }, { ShaderManager::Effect::Whirl, "u_whirl" }, { ShaderManager::Effect::Pixelate, "u_pixelate" } + { ShaderManager::Effect::Color, "u_color" }, { ShaderManager::Effect::Brightness, "u_brightness" }, { ShaderManager::Effect::Ghost, "u_ghost" }, { ShaderManager::Effect::Fisheye, "u_fisheye" }, + { ShaderManager::Effect::Whirl, "u_whirl" }, { ShaderManager::Effect::Pixelate, "u_pixelate" }, { ShaderManager::Effect::Mosaic, "u_mosaic" } }; static const std::unordered_map EFFECT_CONVERTER = { @@ -51,12 +51,13 @@ static const std::unordered_map EFFECT_CON { ShaderManager::Effect::Ghost, [](float x) { return 1 - std::clamp(x, 0.0f, 100.0f) / 100.0f; } }, { ShaderManager::Effect::Fisheye, [](float x) { return std::max(0.0f, (x + 100.0f) / 100.0f); } }, { ShaderManager::Effect::Whirl, [](float x) { return x * (float)pi / 180.0f; } }, - { ShaderManager::Effect::Pixelate, [](float x) { return std::abs(x) / 10.0f; } } + { ShaderManager::Effect::Pixelate, [](float x) { return std::abs(x) / 10.0f; } }, + { ShaderManager::Effect::Mosaic, [](float x) { return std::max(1.0f, std::min(std::round((std::abs(x) + 10.0f) / 10.0f), 512.0f)); } } }; static const std::unordered_map EFFECT_SHAPE_CHANGES = { - { ShaderManager::Effect::Color, false }, { ShaderManager::Effect::Brightness, false }, { ShaderManager::Effect::Ghost, false }, - { ShaderManager::Effect::Fisheye, true }, { ShaderManager::Effect::Whirl, true }, { ShaderManager::Effect::Pixelate, true } + { ShaderManager::Effect::Color, false }, { ShaderManager::Effect::Brightness, false }, { ShaderManager::Effect::Ghost, false }, { ShaderManager::Effect::Fisheye, true }, + { ShaderManager::Effect::Whirl, true }, { ShaderManager::Effect::Pixelate, true }, { ShaderManager::Effect::Mosaic, true } }; Q_GLOBAL_STATIC(ShaderManager, globalInstance) diff --git a/src/shadermanager.h b/src/shadermanager.h index 5e20fbd..c31a853 100644 --- a/src/shadermanager.h +++ b/src/shadermanager.h @@ -21,7 +21,8 @@ class ShaderManager : public QObject Ghost = 1 << 2, Fisheye = 1 << 3, Whirl = 1 << 4, - Pixelate = 1 << 5 + Pixelate = 1 << 5, + Mosaic = 1 << 6 }; explicit ShaderManager(QObject *parent = nullptr); diff --git a/src/shaders/sprite.frag b/src/shaders/sprite.frag index 1f7b421..3209cf8 100644 --- a/src/shaders/sprite.frag +++ b/src/shaders/sprite.frag @@ -31,6 +31,10 @@ uniform float u_pixelate; uniform vec2 u_skinSize; #endif // ENABLE_pixelate +#ifdef ENABLE_mosaic +uniform float u_mosaic; +#endif // ENABLE_mosaic + varying vec2 v_texCoord; uniform sampler2D u_skin; @@ -102,6 +106,10 @@ void main() { vec2 texcoord0 = v_texCoord; + #ifdef ENABLE_mosaic + texcoord0 = fract(u_mosaic * texcoord0); + #endif // ENABLE_mosaic + #ifdef ENABLE_pixelate { // TODO: clean up "pixel" edges diff --git a/test/shadermanager/shadermanager_test.cpp b/test/shadermanager/shadermanager_test.cpp index 46e62bd..ea14450 100644 --- a/test/shadermanager/shadermanager_test.cpp +++ b/test/shadermanager/shadermanager_test.cpp @@ -388,3 +388,62 @@ TEST_F(ShaderManagerTest, PixelateEffectValue) program->release(); } + +TEST_F(ShaderManagerTest, MosaicEffectValue) +{ + static const QString effectName = "mosaic"; + static const QString uniformName = "u_" + effectName; + static const ShaderManager::Effect effect = ShaderManager::Effect::Mosaic; + + std::unordered_map values; + + QOpenGLFunctions glF(&m_context); + glF.initializeOpenGLFunctions(); + ShaderManager manager; + + // In range + std::unordered_map effects = { { effect, 58.5 } }; + QOpenGLShaderProgram *program = manager.getShaderProgram(effects); + program->bind(); + manager.setUniforms(program, 0, QSize(), effects); + manager.getUniformValuesForEffects(effects, values); + + GLfloat value = 0.0f; + glF.glGetUniformfv(program->programId(), program->uniformLocation(uniformName), &value); + ASSERT_EQ(value, 7.0f); + ASSERT_EQ(values.at(effect), value); + + effects[effect] = -21.8; + program->bind(); + manager.setUniforms(program, 0, QSize(), effects); + manager.getUniformValuesForEffects(effects, values); + + value = 0.0f; + glF.glGetUniformfv(program->programId(), program->uniformLocation(uniformName), &value); + ASSERT_EQ(value, 3.0f); + ASSERT_EQ(values.at(effect), value); + + // Below the minimum + effects[effect] = 4; + program->bind(); + manager.setUniforms(program, 0, QSize(), effects); + manager.getUniformValuesForEffects(effects, values); + + value = 0.0f; + glF.glGetUniformfv(program->programId(), program->uniformLocation(uniformName), &value); + ASSERT_EQ(value, 1.0f); + ASSERT_EQ(values.at(effect), value); + + // Above the maximum + effects[effect] = 5120; + program->bind(); + manager.setUniforms(program, 0, QSize(), effects); + manager.getUniformValuesForEffects(effects, values); + + value = 0.0f; + glF.glGetUniformfv(program->programId(), program->uniformLocation(uniformName), &value); + ASSERT_EQ(value, 512.0f); + ASSERT_EQ(values.at(effect), value); + + program->release(); +} diff --git a/test/shape_changing_effects.png b/test/shape_changing_effects.png index 13e707984f7c01ef89396b940b24c2bad19c9f19..a7f4d96aa1d91e0dc28bb8de9b85a511788b6c12 100644 GIT binary patch delta 355 zcmey*G?{sVWxcDXi(^Pe8Uon4C z{KYW0hABPv%1Kv8fjLKf4Fv+G^Z9mMxv;QVvF-Llk!tSe(UX1`d)O7V%Xl!H*7W6H z&RqOv&F&R*lKFJxI5(|%#y&UeMx9^Q+BZ43ZEvwRELVv#kL{^H%bNVYW|;y*&9Zyp zWq&_x{>Z^_*hF`B-kB#-ej)m&qV^vZN|~t8%@XPL({arfbHGk&_m>x!b>pWdH(CS3j3^P6&RJB9HGb{D=^j&{6Hp9`_wf5R{uWw-r+ILH`F^)HA+swVCu(iTE&Qy*IzT z1%gr_D5Z5+Xec{W{-7AsYGg`C#rg!T7i8yyrr<`!)+Y!-DG-$6mY_$JRu{vqDH#s8 z60{KrN`ash2uMn?UXVSoe$5`9)Ef8w Date: Tue, 29 Oct 2024 13:19:10 +0100 Subject: [PATCH 10/18] ShaderManager: Add operators for effect mask --- src/shadermanager.h | 46 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/src/shadermanager.h b/src/shadermanager.h index c31a853..7acefea 100644 --- a/src/shadermanager.h +++ b/src/shadermanager.h @@ -16,6 +16,7 @@ class ShaderManager : public QObject public: enum class Effect { + NoEffect = 0, Color = 1 << 0, Brightness = 1 << 1, Ghost = 1 << 2, @@ -50,4 +51,49 @@ class ShaderManager : public QObject QByteArray m_fragmentShaderSource; }; +inline ShaderManager::Effect operator|(ShaderManager::Effect a, ShaderManager::Effect b) +{ + return static_cast(static_cast(a) | static_cast(b)); +} + +inline ShaderManager::Effect operator|=(ShaderManager::Effect &a, ShaderManager::Effect b) +{ + return static_cast((int &)a |= static_cast(b)); +} + +inline ShaderManager::Effect operator&(ShaderManager::Effect a, ShaderManager::Effect b) +{ + return static_cast(static_cast(a) & static_cast(b)); +} + +inline ShaderManager::Effect operator&=(ShaderManager::Effect &a, ShaderManager::Effect b) +{ + return static_cast((int &)a &= static_cast(b)); +} + +inline ShaderManager::Effect operator~(ShaderManager::Effect a) +{ + return static_cast(~static_cast(a)); +} + +inline bool operator==(ShaderManager::Effect a, int b) +{ + return static_cast(a) == b; +} + +inline bool operator==(int a, ShaderManager::Effect b) +{ + return a == static_cast(b); +} + +inline bool operator!=(ShaderManager::Effect a, int b) +{ + return static_cast(a) != b; +} + +inline bool operator!=(int a, ShaderManager::Effect b) +{ + return a != static_cast(b); +} + } // namespace scratchcpprender From 10f9639b194d43be53248f44085b0729ebcec289 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Tue, 29 Oct 2024 13:21:12 +0100 Subject: [PATCH 11/18] Use effect mask instead of map for enabled effects --- src/cputexturemanager.cpp | 16 ++-- src/cputexturemanager.h | 4 +- src/effecttransform.cpp | 8 +- src/effecttransform.h | 4 +- src/renderedtarget.cpp | 32 +++++--- src/renderedtarget.h | 1 + test/effecttransform/effecttransform_test.cpp | 56 +++++++------ test/texture/cputexturemanager_test.cpp | 79 ++++++++++--------- 8 files changed, 107 insertions(+), 93 deletions(-) diff --git a/src/cputexturemanager.cpp b/src/cputexturemanager.cpp index 2174cf4..3b20719 100644 --- a/src/cputexturemanager.cpp +++ b/src/cputexturemanager.cpp @@ -52,16 +52,16 @@ const std::vector &CpuTextureManager::getTextureConvexHullPoints(const T return it->second; } -QRgb CpuTextureManager::getPointColor(const Texture &texture, int x, int y, const std::unordered_map &effects) +QRgb CpuTextureManager::getPointColor(const Texture &texture, int x, int y, ShaderManager::Effect effectMask, const std::unordered_map &effects) { const int width = texture.width(); const int height = texture.height(); - if (!effects.empty()) { + if (effectMask != 0) { // Get local position with effect transform QVector2D transformedCoords; const QVector2D localCoords(x / static_cast(width), y / static_cast(height)); - EffectTransform::transformPoint(effects, localCoords, transformedCoords); + EffectTransform::transformPoint(effectMask, effects, localCoords, transformedCoords); x = transformedCoords.x() * width; y = transformedCoords.y() * height; } @@ -72,13 +72,13 @@ QRgb CpuTextureManager::getPointColor(const Texture &texture, int x, int y, cons GLubyte *pixels = getTextureData(texture); QRgb color = qRgba(pixels[(y * width + x) * 4], pixels[(y * width + x) * 4 + 1], pixels[(y * width + x) * 4 + 2], pixels[(y * width + x) * 4 + 3]); - if (effects.empty()) + if (effectMask == 0) return color; else - return EffectTransform::transformColor(effects, color); + return EffectTransform::transformColor(effectMask, effects, color); } -bool CpuTextureManager::textureContainsPoint(const Texture &texture, const QPointF &localPoint, const std::unordered_map &effects) +bool CpuTextureManager::textureContainsPoint(const Texture &texture, const QPointF &localPoint, ShaderManager::Effect effectMask, const std::unordered_map &effects) { // https://github.com/scratchfoundation/scratch-render/blob/7b823985bc6fe92f572cc3276a8915e550f7c5e6/src/Silhouette.js#L219-L226 const int width = texture.width(); @@ -86,11 +86,11 @@ bool CpuTextureManager::textureContainsPoint(const Texture &texture, const QPoin int x = localPoint.x(); int y = localPoint.y(); - if (!effects.empty()) { + if (effectMask != 0) { // Get local position with effect transform QVector2D transformedCoords; const QVector2D localCoords(x / static_cast(width), y / static_cast(height)); - EffectTransform::transformPoint(effects, localCoords, transformedCoords); + EffectTransform::transformPoint(effectMask, effects, localCoords, transformedCoords); x = transformedCoords.x() * width; y = transformedCoords.y() * height; } diff --git a/src/cputexturemanager.h b/src/cputexturemanager.h index 4abdb5a..5a3ad0c 100644 --- a/src/cputexturemanager.h +++ b/src/cputexturemanager.h @@ -22,8 +22,8 @@ class CpuTextureManager GLubyte *getTextureData(const Texture &texture); const std::vector &getTextureConvexHullPoints(const Texture &texture); - QRgb getPointColor(const Texture &texture, int x, int y, const std::unordered_map &effects); - bool textureContainsPoint(const Texture &texture, const QPointF &localPoint, const std::unordered_map &effects); + QRgb getPointColor(const Texture &texture, int x, int y, ShaderManager::Effect effectMask, const std::unordered_map &effects); + bool textureContainsPoint(const Texture &texture, const QPointF &localPoint, ShaderManager::Effect effectMask, const std::unordered_map &effects); void removeTexture(const Texture &texture); diff --git a/src/effecttransform.cpp b/src/effecttransform.cpp index 4ea1b70..0a59f4b 100644 --- a/src/effecttransform.cpp +++ b/src/effecttransform.cpp @@ -6,7 +6,7 @@ using namespace scratchcpprender; -QRgb EffectTransform::transformColor(const std::unordered_map &effectValues, QRgb color) +QRgb EffectTransform::transformColor(ShaderManager::Effect effectMask, const std::unordered_map &effectValues, QRgb color) { // https://github.com/scratchfoundation/scratch-render/blob/e075e5f5ebc95dec4a2718551624ad587c56f0a6/src/EffectTransform.js#L40-L119 // If the color is fully transparent, don't bother attempting any transformations. @@ -18,8 +18,8 @@ QRgb EffectTransform::transformColor(const std::unordered_map uniforms; ShaderManager::getUniformValuesForEffects(effectValues, uniforms); - const bool enableColor = uniforms[ShaderManager::Effect::Color] != 0; - const bool enableBrightness = uniforms[ShaderManager::Effect::Brightness] != 0; + const bool enableColor = (effectMask & ShaderManager::Effect::Color) != 0; + const bool enableBrightness = (effectMask & ShaderManager::Effect::Brightness) != 0; if (enableColor || enableBrightness) { // gl_FragColor.rgb /= gl_FragColor.a + epsilon; @@ -99,7 +99,7 @@ QRgb EffectTransform::transformColor(const std::unordered_map &effectValues, const QVector2D &vec, QVector2D &dst) +void EffectTransform::transformPoint(ShaderManager::Effect effectMask, const std::unordered_map &effectValues, const QVector2D &vec, QVector2D &dst) { // TODO: Implement remaining effects dst = vec; diff --git a/src/effecttransform.h b/src/effecttransform.h index 6992f25..904d34e 100644 --- a/src/effecttransform.h +++ b/src/effecttransform.h @@ -14,8 +14,8 @@ class EffectTransform public: EffectTransform() = delete; - static QRgb transformColor(const std::unordered_map &effectValues, QRgb color); - static void transformPoint(const std::unordered_map &effectValues, const QVector2D &vec, QVector2D &dst); + static QRgb transformColor(ShaderManager::Effect effectMask, const std::unordered_map &effectValues, QRgb color); + static void transformPoint(ShaderManager::Effect effectMask, const std::unordered_map &effectValues, const QVector2D &vec, QVector2D &dst); }; } // namespace scratchcpprender diff --git a/src/renderedtarget.cpp b/src/renderedtarget.cpp index 348aabf..3624027 100644 --- a/src/renderedtarget.cpp +++ b/src/renderedtarget.cpp @@ -540,18 +540,20 @@ const std::unordered_map &RenderedTarget::graphic void RenderedTarget::setGraphicEffect(ShaderManager::Effect effect, double value) { bool changed = false; - auto it = m_graphicEffects.find(effect); if (value == 0) { - if (it != m_graphicEffects.cend()) { + if ((m_graphicEffectMask & effect) != 0) { changed = true; m_graphicEffects.erase(effect); + m_graphicEffectMask &= ~effect; } } else { - if (it != m_graphicEffects.cend()) - changed = it->second != value; - else + if ((m_graphicEffectMask & effect) != 0) + changed = m_graphicEffects[effect] != value; + else { changed = true; + m_graphicEffectMask |= effect; + } m_graphicEffects[effect] = value; } @@ -569,6 +571,7 @@ void RenderedTarget::clearGraphicEffects() // TODO: Set m_convexHullDirty to true if any of the previous effects changed shape m_graphicEffects.clear(); + m_graphicEffectMask = ShaderManager::Effect::NoEffect; } const std::vector &RenderedTarget::hullPoints() const @@ -618,7 +621,7 @@ QRgb RenderedTarget::colorAtScratchPoint(double x, double y) const if ((x < 0 || x >= width) || (y < 0 || y >= height)) return qRgba(0, 0, 0, 0); - return textureManager()->getPointColor(m_cpuTexture, x, y, m_graphicEffects); + return textureManager()->getPointColor(m_cpuTexture, x, y, m_graphicEffectMask, m_graphicEffects); } bool RenderedTarget::touchingClones(const std::vector &clones) const @@ -806,7 +809,7 @@ const std::vector &RenderedTarget::transformedHullPoints() const bool RenderedTarget::containsLocalPoint(const QPointF &point) const { - return textureManager()->textureContainsPoint(m_cpuTexture, point, m_graphicEffects); + return textureManager()->textureContainsPoint(m_cpuTexture, point, m_graphicEffectMask, m_graphicEffects); } QPointF RenderedTarget::transformPoint(double scratchX, double scratchY, double originX, double originY, double rot) const @@ -874,11 +877,10 @@ bool RenderedTarget::touchingColor(const libscratchcpp::Value &color, bool hasMa if (hasMask) { // Ignore ghost effect when checking mask - auto it = m_graphicEffects.find(ShaderManager::Effect::Ghost); - - if (it != m_graphicEffects.cend()) { - ghostValue = it->second; + if ((m_graphicEffectMask & ShaderManager::Effect::Ghost) != 0) { + ghostValue = m_graphicEffects[ShaderManager::Effect::Ghost]; m_graphicEffects.erase(ShaderManager::Effect::Ghost); + m_graphicEffectMask &= ~ShaderManager::Effect::Ghost; } mask3b = convertColor(mask); @@ -910,8 +912,10 @@ bool RenderedTarget::touchingColor(const libscratchcpp::Value &color, bool hasMa if (colorMatches(rgb, pixelColor)) { // Restore ghost effect value - if (hasMask && ghostValue != 0) + if (hasMask && ghostValue != 0) { m_graphicEffects[ShaderManager::Effect::Ghost] = ghostValue; + m_graphicEffectMask |= ShaderManager::Effect::Ghost; + } return true; } @@ -920,8 +924,10 @@ bool RenderedTarget::touchingColor(const libscratchcpp::Value &color, bool hasMa } // Restore ghost effect value - if (hasMask && ghostValue != 0) + if (hasMask && ghostValue != 0) { m_graphicEffects[ShaderManager::Effect::Ghost] = ghostValue; + m_graphicEffectMask |= ShaderManager::Effect::Ghost; + } return false; } diff --git a/src/renderedtarget.h b/src/renderedtarget.h index bcbfae3..54ea86c 100644 --- a/src/renderedtarget.h +++ b/src/renderedtarget.h @@ -160,6 +160,7 @@ class RenderedTarget : public IRenderedTarget mutable std::shared_ptr m_textureManager; // NOTE: Use textureManager()! std::unique_ptr m_glF; mutable std::unordered_map m_graphicEffects; + mutable ShaderManager::Effect m_graphicEffectMask = ShaderManager::Effect::NoEffect; double m_size = 1; double m_x = 0; double m_y = 0; diff --git a/test/effecttransform/effecttransform_test.cpp b/test/effecttransform/effecttransform_test.cpp index d5f92fa..f50526e 100644 --- a/test/effecttransform/effecttransform_test.cpp +++ b/test/effecttransform/effecttransform_test.cpp @@ -16,19 +16,20 @@ class EffectTransformTest : public testing::Test TEST_F(EffectTransformTest, NoEffect) { QRgb color = qRgba(0, 0, 0, 0); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), color); + auto mask = ShaderManager::Effect::NoEffect; + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), color); color = qRgba(255, 0, 0, 255); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), color); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), color); color = qRgba(0, 255, 255, 255); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), color); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), color); color = qRgba(255, 255, 255, 128); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), color); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), color); QVector2D dst; - EffectTransform::transformPoint(m_effects, QVector2D(0.5, -0.3), dst); + EffectTransform::transformPoint(mask, m_effects, QVector2D(0.5, -0.3), dst); ASSERT_EQ(dst, QVector2D(0.5, -0.3)); } @@ -36,88 +37,91 @@ TEST_F(EffectTransformTest, ColorEffect) { // 100 m_effects[ShaderManager::Effect::Color] = 100; + auto mask = ShaderManager::Effect::Color; QRgb color = qRgba(0, 0, 0, 0); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), color); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), color); color = qRgba(255, 0, 0, 255); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), qRgb(0, 255, 255)); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), qRgb(0, 255, 255)); color = qRgba(100, 255, 200, 128); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), qRgba(128, 100, 100, 128)); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), qRgba(128, 100, 100, 128)); // 175 m_effects[ShaderManager::Effect::Color] = 175; color = qRgba(255, 0, 0, 255); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), qRgb(255, 0, 191)); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), qRgb(255, 0, 191)); color = qRgba(100, 255, 200, 128); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), qRgba(100, 128, 107, 128)); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), qRgba(100, 128, 107, 128)); } TEST_F(EffectTransformTest, BrightnessEffect) { // -100 m_effects[ShaderManager::Effect::Brightness] = -100; + auto mask = ShaderManager::Effect::Brightness; QRgb color = qRgba(0, 0, 0, 0); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), color); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), color); color = qRgba(255, 0, 0, 255); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), qRgb(0, 0, 0)); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), qRgb(0, 0, 0)); color = qRgba(100, 255, 200, 128); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), qRgba(0, 0, 0, 128)); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), qRgba(0, 0, 0, 128)); // -50 m_effects[ShaderManager::Effect::Brightness] = -50; color = qRgba(255, 0, 0, 255); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), qRgb(127, 0, 0)); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), qRgb(127, 0, 0)); color = qRgba(100, 255, 200, 128); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), qRgba(36, 64, 64, 128)); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), qRgba(36, 64, 64, 128)); // 50 m_effects[ShaderManager::Effect::Brightness] = 50; color = qRgba(255, 0, 0, 255); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), qRgb(255, 127, 127)); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), qRgb(255, 127, 127)); color = qRgba(100, 255, 200, 128); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), qRgba(128, 128, 128, 128)); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), qRgba(128, 128, 128, 128)); // 100 m_effects[ShaderManager::Effect::Brightness] = 100; color = qRgba(255, 0, 0, 255); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), qRgb(255, 255, 255)); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), qRgb(255, 255, 255)); color = qRgba(100, 255, 200, 128); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), qRgba(128, 128, 128, 128)); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), qRgba(128, 128, 128, 128)); } TEST_F(EffectTransformTest, GhostEffect) { // 25 m_effects[ShaderManager::Effect::Ghost] = 25; + auto mask = ShaderManager::Effect::Ghost; QRgb color = qRgba(0, 0, 0, 0); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), color); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), color); color = qRgba(255, 0, 0, 255); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), qRgba(191, 0, 0, 191)); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), qRgba(191, 0, 0, 191)); color = qRgba(100, 255, 200, 128); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), qRgba(75, 191, 150, 96)); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), qRgba(75, 191, 150, 96)); // 50 m_effects[ShaderManager::Effect::Ghost] = 50; color = qRgba(255, 0, 0, 255); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), qRgba(128, 0, 0, 128)); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), qRgba(128, 0, 0, 128)); color = qRgba(100, 255, 200, 128); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), qRgba(50, 128, 100, 64)); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), qRgba(50, 128, 100, 64)); // 100 m_effects[ShaderManager::Effect::Ghost] = 100; color = qRgba(255, 0, 0, 255); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), qRgba(0, 0, 0, 0)); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), qRgba(0, 0, 0, 0)); color = qRgba(100, 255, 200, 128); - ASSERT_EQ(EffectTransform::transformColor(m_effects, color), qRgba(0, 0, 0, 0)); + ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), qRgba(0, 0, 0, 0)); } diff --git a/test/texture/cputexturemanager_test.cpp b/test/texture/cputexturemanager_test.cpp index e2634fa..7f4a438 100644 --- a/test/texture/cputexturemanager_test.cpp +++ b/test/texture/cputexturemanager_test.cpp @@ -145,26 +145,28 @@ TEST_F(CpuTextureManagerTest, GetPointColor) // Test CpuTextureManager manager; - ASSERT_EQ(manager.getPointColor(texture, 0, 0, {}), qRgba(0, 0, 0, 0)); - ASSERT_EQ(manager.getPointColor(texture, 1, 0, {}), qRgba(0, 0, 0, 0)); - ASSERT_EQ(manager.getPointColor(texture, 2, 0, {}), qRgba(0, 0, 0, 0)); - ASSERT_EQ(manager.getPointColor(texture, 3, 0, {}), qRgba(0, 0, 0, 0)); - - ASSERT_FALSE(manager.textureContainsPoint(texture, { 0, 1 }, {})); - ASSERT_TRUE(manager.textureContainsPoint(texture, { 1, 1 }, {})); - ASSERT_TRUE(manager.textureContainsPoint(texture, { 1.4, 1.25 }, {})); - ASSERT_TRUE(manager.textureContainsPoint(texture, { 2, 1 }, {})); - ASSERT_TRUE(manager.textureContainsPoint(texture, { 3, 1 }, {})); - - ASSERT_EQ(manager.getPointColor(texture, 0, 1, {}), qRgba(0, 0, 0, 0)); - ASSERT_EQ(manager.getPointColor(texture, 1, 1, {}), qRgb(0, 0, 255)); - ASSERT_EQ(manager.getPointColor(texture, 2, 1, {}), qRgb(255, 0, 255)); - ASSERT_EQ(manager.getPointColor(texture, 3, 1, {}), qRgb(255, 128, 128)); + auto mask = ShaderManager::Effect::NoEffect; + ASSERT_EQ(manager.getPointColor(texture, 0, 0, mask, {}), qRgba(0, 0, 0, 0)); + ASSERT_EQ(manager.getPointColor(texture, 1, 0, mask, {}), qRgba(0, 0, 0, 0)); + ASSERT_EQ(manager.getPointColor(texture, 2, 0, mask, {}), qRgba(0, 0, 0, 0)); + ASSERT_EQ(manager.getPointColor(texture, 3, 0, mask, {}), qRgba(0, 0, 0, 0)); + + ASSERT_FALSE(manager.textureContainsPoint(texture, { 0, 1 }, mask, {})); + ASSERT_TRUE(manager.textureContainsPoint(texture, { 1, 1 }, mask, {})); + ASSERT_TRUE(manager.textureContainsPoint(texture, { 1.4, 1.25 }, mask, {})); + ASSERT_TRUE(manager.textureContainsPoint(texture, { 2, 1 }, mask, {})); + ASSERT_TRUE(manager.textureContainsPoint(texture, { 3, 1 }, mask, {})); + + ASSERT_EQ(manager.getPointColor(texture, 0, 1, mask, {}), qRgba(0, 0, 0, 0)); + ASSERT_EQ(manager.getPointColor(texture, 1, 1, mask, {}), qRgb(0, 0, 255)); + ASSERT_EQ(manager.getPointColor(texture, 2, 1, mask, {}), qRgb(255, 0, 255)); + ASSERT_EQ(manager.getPointColor(texture, 3, 1, mask, {}), qRgb(255, 128, 128)); std::unordered_map effects = { { ShaderManager::Effect::Color, 50 } }; - ASSERT_EQ(manager.getPointColor(texture, 1, 1, effects), qRgb(255, 0, 128)); - ASSERT_EQ(manager.getPointColor(texture, 2, 1, effects), qRgb(255, 128, 0)); - ASSERT_EQ(manager.getPointColor(texture, 3, 1, effects), qRgb(192, 255, 128)); + mask = ShaderManager::Effect::Color; + ASSERT_EQ(manager.getPointColor(texture, 1, 1, mask, effects), qRgb(255, 0, 128)); + ASSERT_EQ(manager.getPointColor(texture, 2, 1, mask, effects), qRgb(255, 128, 0)); + ASSERT_EQ(manager.getPointColor(texture, 3, 1, mask, effects), qRgb(192, 255, 128)); // TODO: Test point transform (graphic effects that change shape) @@ -188,26 +190,27 @@ TEST_F(CpuTextureManagerTest, TextureContainsPoint) // Test CpuTextureManager manager; - ASSERT_FALSE(manager.textureContainsPoint(texture, { 0, 0 }, {})); - ASSERT_FALSE(manager.textureContainsPoint(texture, { 1, 0 }, {})); - ASSERT_FALSE(manager.textureContainsPoint(texture, { 2, 0 }, {})); - ASSERT_FALSE(manager.textureContainsPoint(texture, { 3, 0 }, {})); - - ASSERT_FALSE(manager.textureContainsPoint(texture, { 0, 1 }, {})); - ASSERT_TRUE(manager.textureContainsPoint(texture, { 1, 1 }, {})); - ASSERT_TRUE(manager.textureContainsPoint(texture, { 1.4, 1.25 }, {})); - ASSERT_TRUE(manager.textureContainsPoint(texture, { 2, 1 }, {})); - ASSERT_TRUE(manager.textureContainsPoint(texture, { 3, 1 }, {})); - - ASSERT_TRUE(manager.textureContainsPoint(texture, { 1, 2 }, {})); - ASSERT_FALSE(manager.textureContainsPoint(texture, { 2, 2 }, {})); - ASSERT_TRUE(manager.textureContainsPoint(texture, { 3, 2 }, {})); - ASSERT_TRUE(manager.textureContainsPoint(texture, { 3.5, 2.1 }, {})); - - ASSERT_TRUE(manager.textureContainsPoint(texture, { 1, 3 }, {})); - ASSERT_TRUE(manager.textureContainsPoint(texture, { 2, 3 }, {})); - ASSERT_TRUE(manager.textureContainsPoint(texture, { 3, 3 }, {})); - ASSERT_TRUE(manager.textureContainsPoint(texture, { 3.3, 3.5 }, {})); + auto mask = ShaderManager::Effect::NoEffect; + ASSERT_FALSE(manager.textureContainsPoint(texture, { 0, 0 }, mask, {})); + ASSERT_FALSE(manager.textureContainsPoint(texture, { 1, 0 }, mask, {})); + ASSERT_FALSE(manager.textureContainsPoint(texture, { 2, 0 }, mask, {})); + ASSERT_FALSE(manager.textureContainsPoint(texture, { 3, 0 }, mask, {})); + + ASSERT_FALSE(manager.textureContainsPoint(texture, { 0, 1 }, mask, {})); + ASSERT_TRUE(manager.textureContainsPoint(texture, { 1, 1 }, mask, {})); + ASSERT_TRUE(manager.textureContainsPoint(texture, { 1.4, 1.25 }, mask, {})); + ASSERT_TRUE(manager.textureContainsPoint(texture, { 2, 1 }, mask, {})); + ASSERT_TRUE(manager.textureContainsPoint(texture, { 3, 1 }, mask, {})); + + ASSERT_TRUE(manager.textureContainsPoint(texture, { 1, 2 }, mask, {})); + ASSERT_FALSE(manager.textureContainsPoint(texture, { 2, 2 }, mask, {})); + ASSERT_TRUE(manager.textureContainsPoint(texture, { 3, 2 }, mask, {})); + ASSERT_TRUE(manager.textureContainsPoint(texture, { 3.5, 2.1 }, mask, {})); + + ASSERT_TRUE(manager.textureContainsPoint(texture, { 1, 3 }, mask, {})); + ASSERT_TRUE(manager.textureContainsPoint(texture, { 2, 3 }, mask, {})); + ASSERT_TRUE(manager.textureContainsPoint(texture, { 3, 3 }, mask, {})); + ASSERT_TRUE(manager.textureContainsPoint(texture, { 3.3, 3.5 }, mask, {})); // TODO: Test point transform (graphic effects that change shape) From c6c9fa06a12e3a38d72833910eb597119e95a258 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Tue, 29 Oct 2024 13:26:57 +0100 Subject: [PATCH 12/18] ShaderManager: Add effectShapeChanges() method --- src/shadermanager.cpp | 6 ++++++ src/shadermanager.h | 2 ++ test/shadermanager/shadermanager_test.cpp | 11 +++++++++++ 3 files changed, 19 insertions(+) diff --git a/src/shadermanager.cpp b/src/shadermanager.cpp index c3baebc..30bed58 100644 --- a/src/shadermanager.cpp +++ b/src/shadermanager.cpp @@ -156,6 +156,12 @@ void ShaderManager::setUniforms(QOpenGLShaderProgram *program, int textureUnit, program->setUniformValue(EFFECT_UNIFORM_NAME.at(effect), value); } +bool ShaderManager::effectShapeChanges(Effect effect) +{ + Q_ASSERT(EFFECT_SHAPE_CHANGES.find(effect) != EFFECT_SHAPE_CHANGES.cend()); + return EFFECT_SHAPE_CHANGES.at(effect); +} + void ShaderManager::registerEffects() { // Register graphic effects in libscratchcpp diff --git a/src/shadermanager.h b/src/shadermanager.h index 7acefea..437481f 100644 --- a/src/shadermanager.h +++ b/src/shadermanager.h @@ -34,6 +34,8 @@ class ShaderManager : public QObject static void getUniformValuesForEffects(const std::unordered_map &effectValues, std::unordered_map &dst); void setUniforms(QOpenGLShaderProgram *program, int textureUnit, const QSize skinSize, const std::unordered_map &effectValues); + static bool effectShapeChanges(Effect effect); + private: struct Registrar { diff --git a/test/shadermanager/shadermanager_test.cpp b/test/shadermanager/shadermanager_test.cpp index ea14450..ba7c301 100644 --- a/test/shadermanager/shadermanager_test.cpp +++ b/test/shadermanager/shadermanager_test.cpp @@ -447,3 +447,14 @@ TEST_F(ShaderManagerTest, MosaicEffectValue) program->release(); } + +TEST_F(ShaderManagerTest, EffectShapeChanges) +{ + ASSERT_FALSE(ShaderManager::effectShapeChanges(ShaderManager::Effect::Color)); + ASSERT_FALSE(ShaderManager::effectShapeChanges(ShaderManager::Effect::Brightness)); + ASSERT_FALSE(ShaderManager::effectShapeChanges(ShaderManager::Effect::Ghost)); + ASSERT_TRUE(ShaderManager::effectShapeChanges(ShaderManager::Effect::Fisheye)); + ASSERT_TRUE(ShaderManager::effectShapeChanges(ShaderManager::Effect::Whirl)); + ASSERT_TRUE(ShaderManager::effectShapeChanges(ShaderManager::Effect::Pixelate)); + ASSERT_TRUE(ShaderManager::effectShapeChanges(ShaderManager::Effect::Mosaic)); +} From 5fce95dc86c91f329389bcecc93fa2d55be0b9fc Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Tue, 29 Oct 2024 16:51:40 +0100 Subject: [PATCH 13/18] Fix stamp test --- test/penlayer/penlayer_test.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/penlayer/penlayer_test.cpp b/test/penlayer/penlayer_test.cpp index fa55110..aabc56c 100644 --- a/test/penlayer/penlayer_test.cpp +++ b/test/penlayer/penlayer_test.cpp @@ -405,7 +405,7 @@ TEST_F(PenLayerTest, Stamp) QOpenGLFramebufferObject *fbo = penLayer.framebufferObject(); QImage image = fbo->toImage().scaled(240, 180); QImage ref("stamp.png"); - ASSERT_LE(fuzzyCompareImages(image, ref), 0.1668); + ASSERT_LE(fuzzyCompareImages(image, ref), 0.18); } // Test HQ pen @@ -422,7 +422,7 @@ TEST_F(PenLayerTest, Stamp) QOpenGLFramebufferObject *fbo = penLayer.framebufferObject(); QImage image = fbo->toImage(); QImage ref("stamp_hq.png"); - ASSERT_LE(fuzzyCompareImages(image, ref), 0.32); + ASSERT_LE(fuzzyCompareImages(image, ref), 0.33); } } From 0e43c14e41765c75ca17d58738661062d4618d25 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Wed, 30 Oct 2024 19:07:11 +0100 Subject: [PATCH 14/18] TargetPainter: Fix skin size --- src/targetpainter.cpp | 2 +- test/targetpainter/targetpainter_test.cpp | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/targetpainter.cpp b/src/targetpainter.cpp index d87d175..a67f10e 100644 --- a/src/targetpainter.cpp +++ b/src/targetpainter.cpp @@ -94,7 +94,7 @@ void TargetPainter::paint(QNanoPainter *painter) glF.glBindVertexArray(VAO); glF.glActiveTexture(GL_TEXTURE0); glF.glBindTexture(GL_TEXTURE_2D, texture.handle()); - shaderManager->setUniforms(shaderProgram, 0, m_target->cpuTexture().size(), effects); // set texture and effect uniforms + shaderManager->setUniforms(shaderProgram, 0, QSize(m_target->costumeWidth(), m_target->costumeHeight()), effects); // set texture and effect uniforms glF.glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); // Process the resulting texture diff --git a/test/targetpainter/targetpainter_test.cpp b/test/targetpainter/targetpainter_test.cpp index 982d2e2..2e02853 100644 --- a/test/targetpainter/targetpainter_test.cpp +++ b/test/targetpainter/targetpainter_test.cpp @@ -81,7 +81,8 @@ TEST_F(TargetPainterTest, Paint) Texture texture(refFbo.texture(), refFbo.size()); std::unordered_map effects; EXPECT_CALL(target, texture()).WillOnce(Return(texture)); - EXPECT_CALL(target, cpuTexture()).WillOnce(ReturnRef(texture)); + EXPECT_CALL(target, costumeWidth()).WillOnce(Return(texture.width())); + EXPECT_CALL(target, costumeHeight()).WillOnce(Return(texture.height())); EXPECT_CALL(target, graphicEffects()).WillOnce(ReturnRef(effects)); targetPainter.paint(&painter); painter.endFrame(); @@ -96,7 +97,8 @@ TEST_F(TargetPainterTest, Paint) effects[ShaderManager::Effect::Brightness] = 20; effects[ShaderManager::Effect::Ghost] = 84; EXPECT_CALL(target, texture()).WillOnce(Return(texture)); - EXPECT_CALL(target, cpuTexture()).WillOnce(ReturnRef(texture)); + EXPECT_CALL(target, costumeWidth()).WillOnce(Return(texture.width())); + EXPECT_CALL(target, costumeHeight()).WillOnce(Return(texture.height())); EXPECT_CALL(target, graphicEffects()).WillOnce(ReturnRef(effects)); targetPainter.paint(&painter); painter.endFrame(); @@ -114,7 +116,8 @@ TEST_F(TargetPainterTest, Paint) effects[ShaderManager::Effect::Pixelate] = 25; effects[ShaderManager::Effect::Mosaic] = 30; EXPECT_CALL(target, texture()).WillOnce(Return(texture)); - EXPECT_CALL(target, cpuTexture()).WillOnce(ReturnRef(texture)); + EXPECT_CALL(target, costumeWidth()).WillOnce(Return(texture.width())); + EXPECT_CALL(target, costumeHeight()).WillOnce(Return(texture.height())); EXPECT_CALL(target, graphicEffects()).WillOnce(ReturnRef(effects)); targetPainter.paint(&painter); painter.endFrame(); From b855d00fca907e32c1305782192e3335746814d6 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Wed, 30 Oct 2024 19:14:05 +0100 Subject: [PATCH 15/18] ShaderManager: Add effects() method --- src/shadermanager.cpp | 12 ++++++++++++ src/shadermanager.h | 3 +++ test/shadermanager/shadermanager_test.cpp | 14 ++++++++++++++ 3 files changed, 29 insertions(+) diff --git a/src/shadermanager.cpp b/src/shadermanager.cpp index 30bed58..7d96640 100644 --- a/src/shadermanager.cpp +++ b/src/shadermanager.cpp @@ -60,6 +60,8 @@ static const std::unordered_map EFFECT_SHAPE_CHANGE { ShaderManager::Effect::Whirl, true }, { ShaderManager::Effect::Pixelate, true }, { ShaderManager::Effect::Mosaic, true } }; +std::unordered_set ShaderManager::m_effects; // populated by effects() + Q_GLOBAL_STATIC(ShaderManager, globalInstance) ShaderManager::Registrar ShaderManager::m_registrar; @@ -156,6 +158,16 @@ void ShaderManager::setUniforms(QOpenGLShaderProgram *program, int textureUnit, program->setUniformValue(EFFECT_UNIFORM_NAME.at(effect), value); } +const std::unordered_set &ShaderManager::effects() +{ + if (m_effects.empty()) { + for (const auto &[effect, name] : EFFECT_TO_NAME) + m_effects.insert(effect); + } + + return m_effects; +} + bool ShaderManager::effectShapeChanges(Effect effect) { Q_ASSERT(EFFECT_SHAPE_CHANGES.find(effect) != EFFECT_SHAPE_CHANGES.cend()); diff --git a/src/shadermanager.h b/src/shadermanager.h index 437481f..210ee98 100644 --- a/src/shadermanager.h +++ b/src/shadermanager.h @@ -4,6 +4,7 @@ #include #include +#include class QOpenGLShaderProgram; class QOpenGLShader; @@ -34,6 +35,7 @@ class ShaderManager : public QObject static void getUniformValuesForEffects(const std::unordered_map &effectValues, std::unordered_map &dst); void setUniforms(QOpenGLShaderProgram *program, int textureUnit, const QSize skinSize, const std::unordered_map &effectValues); + static const std::unordered_set &effects(); static bool effectShapeChanges(Effect effect); private: @@ -47,6 +49,7 @@ class ShaderManager : public QObject QOpenGLShaderProgram *createShaderProgram(const std::unordered_map &effectValues); static Registrar m_registrar; + static std::unordered_set m_effects; QOpenGLShader *m_vertexShader = nullptr; std::unordered_map m_shaderPrograms; diff --git a/test/shadermanager/shadermanager_test.cpp b/test/shadermanager/shadermanager_test.cpp index ba7c301..1029323 100644 --- a/test/shadermanager/shadermanager_test.cpp +++ b/test/shadermanager/shadermanager_test.cpp @@ -448,6 +448,20 @@ TEST_F(ShaderManagerTest, MosaicEffectValue) program->release(); } +TEST_F(ShaderManagerTest, Effects) +{ + ASSERT_EQ( + ShaderManager::effects(), + std::unordered_set( + { ShaderManager::Effect::Color, + ShaderManager::Effect::Brightness, + ShaderManager::Effect::Ghost, + ShaderManager::Effect::Fisheye, + ShaderManager::Effect::Whirl, + ShaderManager::Effect::Pixelate, + ShaderManager::Effect::Mosaic })); +} + TEST_F(ShaderManagerTest, EffectShapeChanges) { ASSERT_FALSE(ShaderManager::effectShapeChanges(ShaderManager::Effect::Color)); From cab76f66fcf55011a8d3478485fb40bcc056810b Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Wed, 30 Oct 2024 19:14:55 +0100 Subject: [PATCH 16/18] Implement CPU rendering for shape-changing effects --- src/cputexturemanager.cpp | 201 +++++++++++++++--- src/cputexturemanager.h | 16 +- src/effecttransform.cpp | 83 +++++++- src/effecttransform.h | 2 +- src/penlayer.cpp | 3 +- src/renderedtarget.cpp | 20 +- test/effecttransform/effecttransform_test.cpp | 70 +++++- test/renderedtarget/renderedtarget_test.cpp | 2 +- test/texture/cputexturemanager_test.cpp | 32 +-- 9 files changed, 367 insertions(+), 62 deletions(-) diff --git a/src/cputexturemanager.cpp b/src/cputexturemanager.cpp index 3b20719..8f0437e 100644 --- a/src/cputexturemanager.cpp +++ b/src/cputexturemanager.cpp @@ -33,23 +33,40 @@ GLubyte *CpuTextureManager::getTextureData(const Texture &texture) return it->second; } -const std::vector &CpuTextureManager::getTextureConvexHullPoints(const Texture &texture) +void CpuTextureManager::getTextureConvexHullPoints( + const Texture &texture, + const QSize &skinSize, + ShaderManager::Effect effectMask, + const std::unordered_map &effects, + std::vector &dst) { - static const std::vector empty; + dst.clear(); if (!texture.isValid()) - return empty; + return; - const GLuint handle = texture.handle(); - auto it = m_convexHullPoints.find(handle); + // Remove effects that don't change shape + if (effectMask != 0) { + const auto &allEffects = ShaderManager::effects(); - if (it == m_convexHullPoints.cend()) { - if (addTexture(texture)) - return m_convexHullPoints[handle]; - else - return empty; + for (ShaderManager::Effect effect : allEffects) { + if ((effectMask & effect) != 0 && !ShaderManager::effectShapeChanges(effect)) + effectMask &= ~effect; + } + } + + // If there are no shape-changing effects, use cached hull points + if (effectMask == 0) { + const GLuint handle = texture.handle(); + auto it = m_convexHullPoints.find(handle); + + if (it == m_convexHullPoints.cend()) { + if (addTexture(texture)) + dst = m_convexHullPoints[handle]; + } else + dst = it->second; } else - return it->second; + readTexture(texture, skinSize, effectMask, effects, nullptr, dst); } QRgb CpuTextureManager::getPointColor(const Texture &texture, int x, int y, ShaderManager::Effect effectMask, const std::unordered_map &effects) @@ -61,7 +78,7 @@ QRgb CpuTextureManager::getPointColor(const Texture &texture, int x, int y, Shad // Get local position with effect transform QVector2D transformedCoords; const QVector2D localCoords(x / static_cast(width), y / static_cast(height)); - EffectTransform::transformPoint(effectMask, effects, localCoords, transformedCoords); + EffectTransform::transformPoint(effectMask, effects, texture.size(), localCoords, transformedCoords); x = transformedCoords.x() * width; y = transformedCoords.y() * height; } @@ -90,7 +107,7 @@ bool CpuTextureManager::textureContainsPoint(const Texture &texture, const QPoin // Get local position with effect transform QVector2D transformedCoords; const QVector2D localCoords(x / static_cast(width), y / static_cast(height)); - EffectTransform::transformPoint(effectMask, effects, localCoords, transformedCoords); + EffectTransform::transformPoint(effectMask, effects, texture.size(), localCoords, transformedCoords); x = transformedCoords.x() * width; y = transformedCoords.y() * height; } @@ -118,7 +135,24 @@ void CpuTextureManager::removeTexture(const Texture &texture) } } -bool CpuTextureManager::addTexture(const Texture &texture) +bool CpuTextureManager::addTexture(const Texture &tex) +{ + if (!tex.isValid()) + return false; + + const GLuint handle = tex.handle(); + m_textureData[handle] = nullptr; + m_convexHullPoints[handle] = {}; + return readTexture(tex, QSize(), ShaderManager::Effect::NoEffect, {}, &m_textureData[handle], m_convexHullPoints[handle]); +} + +bool CpuTextureManager::readTexture( + const Texture &texture, + const QSize &skinSize, + ShaderManager::Effect effectMask, + const std::unordered_map &effects, + GLubyte **data, + std::vector &points) const { if (!texture.isValid()) return false; @@ -146,37 +180,134 @@ bool CpuTextureManager::addTexture(const Texture &texture) GLubyte *pixels = new GLubyte[width * height * 4]; // 4 channels (RGBA) glF.glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, pixels); - // Flip vertically - int rowSize = width * 4; - GLubyte *tempRow = new GLubyte[rowSize]; - - for (size_t i = 0; i < height / 2; ++i) { - size_t topRowIndex = i * rowSize; - size_t bottomRowIndex = (height - 1 - i) * rowSize; + std::vector leftHull; + std::vector rightHull; + leftHull.reserve(height); + rightHull.reserve(height); - // Swap rows - memcpy(tempRow, &pixels[topRowIndex], rowSize); - memcpy(&pixels[topRowIndex], &pixels[bottomRowIndex], rowSize); - memcpy(&pixels[bottomRowIndex], tempRow, rowSize); + for (int x = 0; x < height; x++) { + leftHull.push_back(QPoint(-1, -1)); + rightHull.push_back(QPoint(-1, -1)); } - delete[] tempRow; + int leftEndPointIndex = -1; + int rightEndPointIndex = -1; - m_textureData[handle] = pixels; - m_convexHullPoints[handle] = {}; - std::vector &hullPoints = m_convexHullPoints[handle]; + auto determinant = [](const QPoint &A, const QPoint &B, const QPoint &C) { return (B.x() - A.x()) * (C.y() - A.y()) - (B.y() - A.y()) * (C.x() - A.x()); }; - // Get convex hull points + // Get convex hull points (flipped vertically) + // https://github.com/scratchfoundation/scratch-render/blob/0f6663f3148b4f994d58e19590e14c152f1cc2f8/src/RenderWebGL.js#L1829-L1955 for (int y = 0; y < height; y++) { - for (int x = 0; x < width; x++) { - int index = (y * width + x) * 4; // 4 channels (RGBA) + QPoint currentPoint; + int x; + const int flippedY = height - 1 - y; + + for (x = 0; x < width; x++) { + int transformedX = x; + int transformedY = flippedY; + + if (effectMask != 0) { + // Get local position with effect transform + QVector2D transformedCoords; + const QVector2D localCoords(transformedX / static_cast(width), transformedY / static_cast(height)); + EffectTransform::transformPoint(effectMask, effects, skinSize, localCoords, transformedCoords); + transformedX = transformedCoords.x() * width; + transformedY = transformedCoords.y() * height; + } + + if ((transformedX >= 0 && transformedX < width) && (transformedY >= 0 && transformedY < height)) { + int index = (transformedY * width + transformedX) * 4; + + if (pixels[index + 3] > 0) { + currentPoint.setX(x); + currentPoint.setY(y); + break; + } + } + } - // Check alpha channel - if (pixels[index + 3] > 0) - hullPoints.push_back(QPoint(x, y)); + if (x >= width) + continue; + + while (leftEndPointIndex > 0) { + if (determinant(leftHull[leftEndPointIndex], leftHull[leftEndPointIndex - 1], currentPoint) > 0) + break; + else { + leftEndPointIndex--; + } + } + + leftHull[++leftEndPointIndex] = currentPoint; + + for (x = width - 1; x >= 0; x--) { + int transformedX = x; + int transformedY = flippedY; + + if (effectMask != 0) { + // Get local position with effect transform + QVector2D transformedCoords; + const QVector2D localCoords(transformedX / static_cast(width), transformedY / static_cast(height)); + EffectTransform::transformPoint(effectMask, effects, skinSize, localCoords, transformedCoords); + transformedX = transformedCoords.x() * width; + transformedY = transformedCoords.y() * height; + } + + if ((transformedX >= 0 && transformedX < width) && (transformedY >= 0 && transformedY < height)) { + int index = (transformedY * width + transformedX) * 4; + + if (pixels[index + 3] > 0) { + currentPoint.setX(x); + currentPoint.setY(y); + break; + } + } + } + + while (rightEndPointIndex > 0) { + if (determinant(rightHull[rightEndPointIndex], rightHull[rightEndPointIndex - 1], currentPoint) < 0) + break; + else + rightEndPointIndex--; } + + rightHull[++rightEndPointIndex] = currentPoint; + } + + points.clear(); + points.reserve((leftEndPointIndex + 1) + (rightEndPointIndex + 1)); + + long i; + + for (i = 0; i < leftHull.size(); i++) { + if (leftHull[i].x() >= 0) + points.push_back(leftHull[i]); } + for (i = rightEndPointIndex; i >= 0; --i) + if (rightHull[i].x() >= 0) + points.push_back(rightHull[i]); + + if (data) { + // Flip vertically + int rowSize = width * 4; + GLubyte *tempRow = new GLubyte[rowSize]; + + for (size_t i = 0; i < height / 2; ++i) { + size_t topRowIndex = i * rowSize; + size_t bottomRowIndex = (height - 1 - i) * rowSize; + + // Swap rows + memcpy(tempRow, &pixels[topRowIndex], rowSize); + memcpy(&pixels[topRowIndex], &pixels[bottomRowIndex], rowSize); + memcpy(&pixels[bottomRowIndex], tempRow, rowSize); + } + + delete[] tempRow; + + *data = pixels; + } else + delete[] pixels; + // Cleanup glF.glBindFramebuffer(GL_FRAMEBUFFER, 0); glF.glDeleteFramebuffers(1, &fbo); diff --git a/src/cputexturemanager.h b/src/cputexturemanager.h index 5a3ad0c..5d7c6e6 100644 --- a/src/cputexturemanager.h +++ b/src/cputexturemanager.h @@ -20,7 +20,12 @@ class CpuTextureManager ~CpuTextureManager(); GLubyte *getTextureData(const Texture &texture); - const std::vector &getTextureConvexHullPoints(const Texture &texture); + void getTextureConvexHullPoints( + const Texture &texture, + const QSize &skinSize, + ShaderManager::Effect effectMask, + const std::unordered_map &effects, + std::vector &dst); QRgb getPointColor(const Texture &texture, int x, int y, ShaderManager::Effect effectMask, const std::unordered_map &effects); bool textureContainsPoint(const Texture &texture, const QPointF &localPoint, ShaderManager::Effect effectMask, const std::unordered_map &effects); @@ -28,7 +33,14 @@ class CpuTextureManager void removeTexture(const Texture &texture); private: - bool addTexture(const Texture &texture); + bool addTexture(const Texture &tex); + bool readTexture( + const Texture &texture, + const QSize &skinSize, + ShaderManager::Effect effectMask, + const std::unordered_map &effects, + GLubyte **data, + std::vector &points) const; std::unordered_map m_textureData; std::unordered_map> m_convexHullPoints; diff --git a/src/effecttransform.cpp b/src/effecttransform.cpp index 0a59f4b..8be1e8c 100644 --- a/src/effecttransform.cpp +++ b/src/effecttransform.cpp @@ -6,6 +6,16 @@ using namespace scratchcpprender; +// A texture coordinate is between 0 and 1, 0.5 is the center position +static const float CENTER_X = 0.5f; +static const float CENTER_Y = 0.5f; + +inline float fract(float x) +{ + // https://registry.khronos.org/OpenGL-Refpages/gl4/html/fract.xhtml + return x - std::floor(x); +} + QRgb EffectTransform::transformColor(ShaderManager::Effect effectMask, const std::unordered_map &effectValues, QRgb color) { // https://github.com/scratchfoundation/scratch-render/blob/e075e5f5ebc95dec4a2718551624ad587c56f0a6/src/EffectTransform.js#L40-L119 @@ -99,8 +109,77 @@ QRgb EffectTransform::transformColor(ShaderManager::Effect effectMask, const std return inOutColor.rgba(); } -void EffectTransform::transformPoint(ShaderManager::Effect effectMask, const std::unordered_map &effectValues, const QVector2D &vec, QVector2D &dst) +void EffectTransform::transformPoint(ShaderManager::Effect effectMask, const std::unordered_map &effectValues, const QSize &size, const QVector2D &vec, QVector2D &dst) { - // TODO: Implement remaining effects + // https://github.com/scratchfoundation/scratch-render/blob/e075e5f5ebc95dec4a2718551624ad587c56f0a6/src/EffectTransform.js#L128-L194 dst = vec; + + std::unordered_map uniforms; + ShaderManager::getUniformValuesForEffects(effectValues, uniforms); + + if ((effectMask & ShaderManager::Effect::Mosaic) != 0) { + // texcoord0 = fract(u_mosaic * texcoord0); + const float mosaic = uniforms[ShaderManager::Effect::Mosaic]; + dst.setX(fract(mosaic * dst.x())); + dst.setY(fract(mosaic * dst.y())); + } + + if ((effectMask & ShaderManager::Effect::Pixelate) != 0) { + // vec2 pixelTexelSize = u_skinSize / u_pixelate; + const float pixelate = uniforms[ShaderManager::Effect::Pixelate]; + const float texelX = size.width() / pixelate; + const float texelY = size.height() / pixelate; + // texcoord0 = (floor(texcoord0 * pixelTexelSize) + kCenter) / + // pixelTexelSize; + dst.setX((std::floor(dst.x() * texelX) + CENTER_X) / texelX); + dst.setY((std::floor(dst.y() * texelY) + CENTER_Y) / texelY); + } + + if ((effectMask & ShaderManager::Effect::Whirl) != 0) { + const float whirl = uniforms[ShaderManager::Effect::Whirl]; + // const float kRadius = 0.5; + const float RADIUS = 0.5f; + // vec2 offset = texcoord0 - kCenter; + const float offsetX = dst.x() - CENTER_X; + const float offsetY = dst.y() - CENTER_Y; + // float offsetMagnitude = length(offset); + const float offsetMagnitude = std::sqrt(std::pow(offsetX, 2.0f) + std::pow(offsetY, 2.0f)); + // float whirlFactor = max(1.0 - (offsetMagnitude / kRadius), 0.0); + const float whirlFactor = std::max(1.0f - (offsetMagnitude / RADIUS), 0.0f); + // float whirlActual = u_whirl * whirlFactor * whirlFactor; + const float whirlActual = whirl * whirlFactor * whirlFactor; + // float sinWhirl = sin(whirlActual); + const float sinWhirl = std::sin(whirlActual); + // float cosWhirl = cos(whirlActual); + const float cosWhirl = std::cos(whirlActual); + // mat2 rotationMatrix = mat2( + // cosWhirl, -sinWhirl, + // sinWhirl, cosWhirl + // ); + const float rot1 = cosWhirl; + const float rot2 = -sinWhirl; + const float rot3 = sinWhirl; + const float rot4 = cosWhirl; + + // texcoord0 = rotationMatrix * offset + kCenter; + dst.setX((rot1 * offsetX) + (rot3 * offsetY) + CENTER_X); + dst.setY((rot2 * offsetX) + (rot4 * offsetY) + CENTER_Y); + } + + if ((effectMask & ShaderManager::Effect::Fisheye) != 0) { + const float fisheye = uniforms[ShaderManager::Effect::Fisheye]; + // vec2 vec = (texcoord0 - kCenter) / kCenter; + const float vX = (dst.x() - CENTER_X) / CENTER_X; + const float vY = (dst.y() - CENTER_Y) / CENTER_Y; + // float vecLength = length(vec); + const float vLength = std::sqrt((vX * vX) + (vY * vY)); + // float r = pow(min(vecLength, 1.0), u_fisheye) * max(1.0, vecLength); + const float r = std::pow(std::min(vLength, 1.0f), fisheye) * std::max(1.0f, vLength); + // vec2 unit = vec / vecLength; + const float unitX = vX / vLength; + const float unitY = vY / vLength; + // texcoord0 = kCenter + r * unit * kCenter; + dst.setX(CENTER_X + (r * unitX * CENTER_X)); + dst.setY(CENTER_Y + (r * unitY * CENTER_Y)); + } } diff --git a/src/effecttransform.h b/src/effecttransform.h index 904d34e..0a4e74a 100644 --- a/src/effecttransform.h +++ b/src/effecttransform.h @@ -15,7 +15,7 @@ class EffectTransform EffectTransform() = delete; static QRgb transformColor(ShaderManager::Effect effectMask, const std::unordered_map &effectValues, QRgb color); - static void transformPoint(ShaderManager::Effect effectMask, const std::unordered_map &effectValues, const QVector2D &vec, QVector2D &dst); + static void transformPoint(ShaderManager::Effect effectMask, const std::unordered_map &effectValues, const QSize &size, const QVector2D &vec, QVector2D &dst); }; } // namespace scratchcpprender diff --git a/src/penlayer.cpp b/src/penlayer.cpp index 401d461..0065f7f 100644 --- a/src/penlayer.cpp +++ b/src/penlayer.cpp @@ -412,7 +412,8 @@ const libscratchcpp::Rect &PenLayer::getBounds() const double bottom = std::numeric_limits::infinity(); const double width = m_texture.width(); const double height = m_texture.height(); - const std::vector &points = m_textureManager.getTextureConvexHullPoints(m_texture); + std::vector points; + m_textureManager.getTextureConvexHullPoints(m_texture, QSize(), ShaderManager::Effect::NoEffect, {}, points); if (points.empty()) { m_bounds = libscratchcpp::Rect(); diff --git a/src/renderedtarget.cpp b/src/renderedtarget.cpp index 3624027..2f731ad 100644 --- a/src/renderedtarget.cpp +++ b/src/renderedtarget.cpp @@ -558,10 +558,14 @@ void RenderedTarget::setGraphicEffect(ShaderManager::Effect effect, double value m_graphicEffects[effect] = value; } - if (changed) + if (changed) { update(); - // TODO: Set m_convexHullDirty to true if the effect changes shape + if (ShaderManager::effectShapeChanges(effect)) { + m_convexHullDirty = true; + m_transformedHullDirty = true; + } + } } void RenderedTarget::clearGraphicEffects() @@ -569,7 +573,14 @@ void RenderedTarget::clearGraphicEffects() if (!m_graphicEffects.empty()) update(); - // TODO: Set m_convexHullDirty to true if any of the previous effects changed shape + for (const auto &[effect, value] : m_graphicEffects) { + if (ShaderManager::effectShapeChanges(effect)) { + m_convexHullDirty = true; + m_transformedHullDirty = true; + break; + } + } + m_graphicEffects.clear(); m_graphicEffectMask = ShaderManager::Effect::NoEffect; } @@ -767,8 +778,7 @@ void RenderedTarget::updateHullPoints() return; } - m_hullPoints = textureManager()->getTextureConvexHullPoints(m_cpuTexture); - // TODO: Apply graphic effects (#117) + textureManager()->getTextureConvexHullPoints(m_cpuTexture, m_skin->getTexture(1).size(), m_graphicEffectMask, m_graphicEffects, m_hullPoints); } const std::vector &RenderedTarget::transformedHullPoints() const diff --git a/test/effecttransform/effecttransform_test.cpp b/test/effecttransform/effecttransform_test.cpp index f50526e..d9ee128 100644 --- a/test/effecttransform/effecttransform_test.cpp +++ b/test/effecttransform/effecttransform_test.cpp @@ -29,7 +29,7 @@ TEST_F(EffectTransformTest, NoEffect) ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), color); QVector2D dst; - EffectTransform::transformPoint(mask, m_effects, QVector2D(0.5, -0.3), dst); + EffectTransform::transformPoint(mask, m_effects, QSize(), QVector2D(0.5, -0.3), dst); ASSERT_EQ(dst, QVector2D(0.5, -0.3)); } @@ -125,3 +125,71 @@ TEST_F(EffectTransformTest, GhostEffect) color = qRgba(100, 255, 200, 128); ASSERT_EQ(EffectTransform::transformColor(mask, m_effects, color), qRgba(0, 0, 0, 0)); } + +TEST_F(EffectTransformTest, FisheyeEffect) +{ + // 50 + m_effects[ShaderManager::Effect::Fisheye] = 50; + auto mask = ShaderManager::Effect::Fisheye; + QVector2D dst; + EffectTransform::transformPoint(mask, m_effects, QSize(), QVector2D(0.51, 0.49), dst); + ASSERT_EQ(std::round(dst.x() * 1000.0f) / 1000.0f, 0.502f); + ASSERT_EQ(std::round(dst.y() * 1000.0f) / 1000.0f, 0.498f); + + // 200 + m_effects[ShaderManager::Effect::Fisheye] = 200; + EffectTransform::transformPoint(mask, m_effects, QSize(), QVector2D(0.4, 0.68), dst); + ASSERT_EQ(std::round(dst.x() * 1000.0f) / 1000.0f, 0.483f); + ASSERT_EQ(std::round(dst.y() * 1000.0f) / 1000.0f, 0.531f); +} + +TEST_F(EffectTransformTest, WhirlEffect) +{ + // 50 + m_effects[ShaderManager::Effect::Whirl] = 50; + auto mask = ShaderManager::Effect::Whirl; + QVector2D dst; + EffectTransform::transformPoint(mask, m_effects, QSize(), QVector2D(0.51, 0.49), dst); + ASSERT_EQ(std::round(dst.x() * 1000.0f) / 1000.0f, 0.499f); + ASSERT_EQ(std::round(dst.y() * 1000.0f) / 1000.0f, 0.486f); + + // 200 + m_effects[ShaderManager::Effect::Whirl] = 200; + EffectTransform::transformPoint(mask, m_effects, QSize(), QVector2D(0.4, 0.68), dst); + ASSERT_EQ(std::round(dst.x() * 1000.0f) / 1000.0f, 0.633f); + ASSERT_EQ(std::round(dst.y() * 1000.0f) / 1000.0f, 0.657f); +} + +TEST_F(EffectTransformTest, PixelateEffect) +{ + // 5 + m_effects[ShaderManager::Effect::Pixelate] = 5; + auto mask = ShaderManager::Effect::Pixelate; + QVector2D dst; + EffectTransform::transformPoint(mask, m_effects, QSize(), QVector2D(0.51, 0.05), dst); + ASSERT_EQ(std::round(dst.x() * 1000.0f) / 1000.0f, 0.75f); + ASSERT_EQ(std::round(dst.y() * 1000.0f) / 1000.0f, 0.25f); + + // 20 + m_effects[ShaderManager::Effect::Pixelate] = 20; + EffectTransform::transformPoint(mask, m_effects, QSize(), QVector2D(0.97, 0.68), dst); + ASSERT_EQ(std::round(dst.x() * 1000.0f) / 1000.0f, 1.0f); + ASSERT_EQ(std::round(dst.y() * 1000.0f) / 1000.0f, 1.0f); +} + +TEST_F(EffectTransformTest, MosaicEffect) +{ + // 50 + m_effects[ShaderManager::Effect::Mosaic] = 50; + auto mask = ShaderManager::Effect::Mosaic; + QVector2D dst; + EffectTransform::transformPoint(mask, m_effects, QSize(), QVector2D(0.75, 0.25), dst); + ASSERT_EQ(std::round(dst.x() * 1000.0f) / 1000.0f, 0.5f); + ASSERT_EQ(std::round(dst.y() * 1000.0f) / 1000.0f, 0.5f); + + // 200 + m_effects[ShaderManager::Effect::Mosaic] = 200; + EffectTransform::transformPoint(mask, m_effects, QSize(), QVector2D(0.8, 0.68), dst); + ASSERT_EQ(std::round(dst.x() * 1000.0f) / 1000.0f, 0.8f); + ASSERT_EQ(std::round(dst.y() * 1000.0f) / 1000.0f, 0.28f); +} diff --git a/test/renderedtarget/renderedtarget_test.cpp b/test/renderedtarget/renderedtarget_test.cpp index 59b5d41..936d91b 100644 --- a/test/renderedtarget/renderedtarget_test.cpp +++ b/test/renderedtarget/renderedtarget_test.cpp @@ -379,7 +379,7 @@ TEST_F(RenderedTargetTest, CpuRendering) // Test hull points target.setWidth(3); target.setHeight(3); - ASSERT_EQ(target.hullPoints(), std::vector({ { 1, 1 }, { 2, 1 }, { 3, 1 }, { 1, 2 }, { 3, 2 }, { 1, 3 }, { 2, 3 }, { 3, 3 } })); + ASSERT_EQ(target.hullPoints(), std::vector({ { 1, 1 }, { 1, 3 }, { 3, 3 }, { 3, 1 } })); // Test contains() ASSERT_FALSE(target.contains({ 0, 0 })); diff --git a/test/texture/cputexturemanager_test.cpp b/test/texture/cputexturemanager_test.cpp index 7f4a438..93ee54a 100644 --- a/test/texture/cputexturemanager_test.cpp +++ b/test/texture/cputexturemanager_test.cpp @@ -77,12 +77,9 @@ TEST_F(CpuTextureManagerTest, TextureDataAndHullPoints) 4, 0, 12, 255, 1, 0, 7, 255, 0, 1, 0, 255, 0, 3, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255 }; - static const std::vector refHullPoints1 = { { 1, 1 }, { 2, 1 }, { 3, 1 }, { 1, 2 }, { 3, 2 }, { 1, 3 }, { 2, 3 }, { 3, 3 } }; - - static const std::vector refHullPoints2 = { - { 0, 0 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, { 0, 1 }, { 1, 1 }, { 2, 1 }, { 3, 1 }, { 0, 2 }, { 1, 2 }, { 2, 2 }, { 3, 2 }, - { 0, 3 }, { 1, 3 }, { 2, 3 }, { 3, 3 }, { 0, 4 }, { 1, 4 }, { 2, 4 }, { 3, 4 }, { 0, 5 }, { 1, 5 }, { 2, 5 }, { 3, 5 } - }; + static const std::vector refHullPoints1 = { { 1, 1 }, { 1, 3 }, { 3, 3 }, { 3, 1 } }; + static const std::vector refHullPoints2 = { { 0, 0 }, { 0, 5 }, { 3, 5 }, { 3, 0 } }; + static const std::vector refHullPoints3 = { { 1, 0 }, { 1, 3 }, { 2, 3 }, { 3, 2 }, { 3, 0 } }; // Create OpenGL context QOpenGLContext context; @@ -96,19 +93,26 @@ TEST_F(CpuTextureManagerTest, TextureDataAndHullPoints) // Read texture data CpuTextureManager manager; + std::vector hullPoints; for (int i = 0; i < 2; i++) { Texture texture1(imgPainter1.fbo()->texture(), imgPainter1.fbo()->size()); GLubyte *data = manager.getTextureData(texture1); ASSERT_EQ(memcmp(data, refData1, 96), 0); - const auto &hullPoints1 = manager.getTextureConvexHullPoints(texture1); - ASSERT_EQ(hullPoints1, refHullPoints1); + manager.getTextureConvexHullPoints(texture1, QSize(), ShaderManager::Effect::NoEffect, {}, hullPoints); + ASSERT_EQ(hullPoints, refHullPoints1); Texture texture2(imgPainter2.fbo()->texture(), imgPainter2.fbo()->size()); data = manager.getTextureData(texture2); ASSERT_EQ(memcmp(data, refData2, 96), 0); - const auto &hullPoints2 = manager.getTextureConvexHullPoints(texture2); - ASSERT_EQ(hullPoints2, refHullPoints2); + manager.getTextureConvexHullPoints(texture2, QSize(), ShaderManager::Effect::NoEffect, {}, hullPoints); + ASSERT_EQ(hullPoints, refHullPoints2); + + // Shape-changing effects + auto mask = ShaderManager::Effect::Fisheye | ShaderManager::Effect::Whirl; + const std::unordered_map effects = { { ShaderManager::Effect::Fisheye, 20 }, { ShaderManager::Effect::Whirl, 50 } }; + manager.getTextureConvexHullPoints(texture1, texture1.size(), mask, effects, hullPoints); + ASSERT_EQ(hullPoints, refHullPoints3); } // Test removeTexture() @@ -116,14 +120,14 @@ TEST_F(CpuTextureManagerTest, TextureDataAndHullPoints) Texture texture(imgPainter1.fbo()->texture(), imgPainter1.fbo()->size()); GLubyte *data = manager.getTextureData(texture); ASSERT_EQ(memcmp(data, refData1, 96), 0); - const auto &hullPoints1 = manager.getTextureConvexHullPoints(texture); - ASSERT_EQ(hullPoints1, refHullPoints1); + manager.getTextureConvexHullPoints(texture, QSize(), ShaderManager::Effect::NoEffect, {}, hullPoints); + ASSERT_EQ(hullPoints, refHullPoints1); manager.removeTexture(texture); data = manager.getTextureData(texture); ASSERT_EQ(memcmp(data, refData2, 96), 0); - const auto &hullPoints2 = manager.getTextureConvexHullPoints(texture); - ASSERT_EQ(hullPoints2, refHullPoints2); + manager.getTextureConvexHullPoints(texture, QSize(), ShaderManager::Effect::NoEffect, {}, hullPoints); + ASSERT_EQ(hullPoints, refHullPoints2); // Cleanup context.doneCurrent(); From f61d346315a60173dcc0518f41ce19d6a16c3c1a Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Wed, 30 Oct 2024 19:16:54 +0100 Subject: [PATCH 17/18] RenderedTarget: Add missing transformed hull dirty changes --- src/renderedtarget.cpp | 2 ++ src/renderedtarget.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/renderedtarget.cpp b/src/renderedtarget.cpp index 2f731ad..d97a7c1 100644 --- a/src/renderedtarget.cpp +++ b/src/renderedtarget.cpp @@ -228,6 +228,7 @@ void RenderedTarget::setEngine(IEngine *newEngine) m_cpuTexture = Texture(); m_penLayer = PenLayer::getProjectPenLayer(m_engine); m_convexHullDirty = true; + m_transformedHullDirty = true; clearGraphicEffects(); m_hullPoints.clear(); @@ -814,6 +815,7 @@ const std::vector &RenderedTarget::transformedHullPoints() const m_transformedHullPoints.push_back(QPointF(x, y)); } + m_transformedHullDirty = false; return m_transformedHullPoints; } diff --git a/src/renderedtarget.h b/src/renderedtarget.h index 54ea86c..9550762 100644 --- a/src/renderedtarget.h +++ b/src/renderedtarget.h @@ -174,7 +174,7 @@ class RenderedTarget : public IRenderedTarget qreal m_maximumHeight = std::numeric_limits::infinity(); bool m_convexHullDirty = true; std::vector m_hullPoints; - bool m_transformedHullDirty = true; + mutable bool m_transformedHullDirty = true; mutable std::vector m_transformedHullPoints; // NOTE: Use transformedHullPoints(); bool m_clicked = false; // left mouse button only! double m_dragX = 0; From 0efc1d851c7231d84870e6dd4c65c32bf7c0f731 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Wed, 30 Oct 2024 19:17:40 +0100 Subject: [PATCH 18/18] README: Mark graphic effects as finished --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d38feeb..ce57e57 100644 --- a/README.md +++ b/README.md @@ -148,7 +148,7 @@ int main(int argc, char **argv) { - [x] Touching color blocks - [x] Pen blocks - [x] Monitors -- [ ] Graphics effects (color, brightness and ghost are implemented) +- [x] Graphics effects - [x] Speech and thought bubbles - [x] Question text box ("ask and wait" block)