diff --git a/src/ge_particle_circular_halo_shader.cpp b/src/ge_particle_circular_halo_shader.cpp index 472b5d41d14c76da35db5b421a5541989d61d002..5bc417c023c0985b98c4aa0729b7b528201c5f59 100644 --- a/src/ge_particle_circular_halo_shader.cpp +++ b/src/ge_particle_circular_halo_shader.cpp @@ -21,11 +21,10 @@ namespace OHOS { namespace Rosen { namespace { - constexpr float DOWN_SAMPLE_SCALE = 4.0; static constexpr char GLOW_HALO_PROG[] = R"( uniform half2 iResolution; uniform half2 rotationCenter; // center of the halo rings, normalized coords (0. - 10.) - uniform float DOWN_SAMPLE_SCALE; + const half DOWN_SAMPLE_SCALE = 4.0; vec4 fragColor; const float PI = 3.14159; @@ -154,7 +153,7 @@ namespace { uniform half2 iResolution; uniform half randomNoise; uniform half2 rotationCenter; // center of the halo rings, normalized coords (0. - 1.) - uniform half DOWN_SAMPLE_SCALE; + const half DOWN_SAMPLE_SCALE = 4.0; half4 fragColor; // ****************************** Constants ****************************** @@ -255,7 +254,7 @@ namespace { uniform half2 rotationCenter; // center of the halo rings, normalized coords (0. - 1.) uniform shader particleHalo; uniform shader glowHalo; - uniform float DOWN_SAMPLE_SCALE; + const half DOWN_SAMPLE_SCALE = 4.0; vec4 fragColor; const int NUMBER_OF_SAMPLES = 11; // Number of samples used for blur effects @@ -627,7 +626,6 @@ std::shared_ptr GEParticleCircularHaloShader::MakeGlowHaloShader glowHaloBuilder_->SetUniform("iResolution", width, height); glowHaloBuilder_->SetUniform("rotationCenter", particleCircularHaloParams_.center_.first, particleCircularHaloParams_.center_.second); - glowHaloBuilder_->SetUniform("DOWN_SAMPLE_SCALE", DOWN_SAMPLE_SCALE); auto preCalculatedGlowHaloShader = glowHaloBuilder_->MakeImage(canvas.GetGPUContext().get(), nullptr, imageInfo, false); if (preCalculatedGlowHaloShader == nullptr) { @@ -652,7 +650,6 @@ std::shared_ptr GEParticleCircularHaloShader::MakeParticleHaloSh particleHaloBuilder_->SetUniform("rotationCenter", particleCircularHaloParams_.center_.first, particleCircularHaloParams_.center_.second); particleHaloBuilder_->SetUniform("randomNoise", particleCircularHaloParams_.noise_); - particleHaloBuilder_->SetUniform("DOWN_SAMPLE_SCALE", DOWN_SAMPLE_SCALE); auto particleHaloShader = particleHaloBuilder_->MakeImage(canvas.GetGPUContext().get(), nullptr, imageInfo, false); if (particleHaloShader == nullptr) { @@ -702,7 +699,6 @@ std::shared_ptr GEParticleCircularHaloShader::MakeParticl builder_->SetUniform("globalRadius", particleCircularHaloParams_.radius_); builder_->SetUniform("rotationCenter", particleCircularHaloParams_.center_.first, particleCircularHaloParams_.center_.second); - builder_->SetUniform("DOWN_SAMPLE_SCALE", DOWN_SAMPLE_SCALE); auto particleCircularHaloShader = builder_->MakeShader(nullptr, false); if (particleCircularHaloShader == nullptr) { GE_LOGE( diff --git a/test/unittest/ge_particle_circular_halo_shader_test.cpp b/test/unittest/ge_particle_circular_halo_shader_test.cpp index fc721f2423e3b6bb4ed06b0764cb352766fd19de..a2b76030589256472513f47fc21d484d07b222cc 100644 --- a/test/unittest/ge_particle_circular_halo_shader_test.cpp +++ b/test/unittest/ge_particle_circular_halo_shader_test.cpp @@ -33,7 +33,7 @@ public: void TearDown() override; std::shared_ptr MakeImage(Drawing::Canvas& canvas); - static inline Drawing::Canvas canvas_; + Drawing::Canvas canvas_; std::shared_ptr image_ { nullptr }; // 1.0f, 1.0f, 2.0f, 2.0f is left top right bottom @@ -65,6 +65,7 @@ HWTEST_F(GEParticleCircularHaloShaderTest, GEParticleCircularHaloShaderTest001, params.noise_ = 4.0f; auto shader = GEParticleCircularHaloShader::CreateParticleCircularHaloShader(params); + void GEParticleCircularHaloShader::Preprocess(canvas_, rect_); auto shaderEffect = shader->MakeParticleCircularHaloShader(rect_); if (shaderEffect) { @@ -86,6 +87,7 @@ HWTEST_F(GEParticleCircularHaloShaderTest, GEParticleCircularHaloShaderTest002, params.noise_ = 4.0f; auto shader = GEParticleCircularHaloShader::CreateParticleCircularHaloShader(params); + void GEParticleCircularHaloShader::Preprocess(canvas_, rect_); auto shaderEffect = shader->MakeParticleCircularHaloShader(rect_); if (shaderEffect) { @@ -107,6 +109,7 @@ HWTEST_F(GEParticleCircularHaloShaderTest, GEParticleCircularHaloShaderTest003, params.noise_ = 4.0f; auto shader = GEParticleCircularHaloShader::CreateParticleCircularHaloShader(params); + void GEParticleCircularHaloShader::Preprocess(canvas_, rect_); auto shaderEffect = shader->MakeParticleCircularHaloShader(rect_); if (shaderEffect) { @@ -128,6 +131,7 @@ HWTEST_F(GEParticleCircularHaloShaderTest, GEParticleCircularHaloShaderTest004, params.noise_ = 4.0f; auto shader = GEParticleCircularHaloShader::CreateParticleCircularHaloShader(params); + void Preprocess(canvas_, rect_); auto shaderEffect = shader->MakeParticleCircularHaloShader(rect_); if (shaderEffect) { @@ -149,6 +153,7 @@ HWTEST_F(GEParticleCircularHaloShaderTest, GEParticleCircularHaloShaderTest005, params.noise_ = 4.0f; auto shader = GEParticleCircularHaloShader::CreateParticleCircularHaloShader(params); + void GEParticleCircularHaloShader::Preprocess(canvas_, rect_); auto shaderEffect = shader->MakeParticleCircularHaloShader(rect_); if (shaderEffect) { @@ -170,6 +175,7 @@ HWTEST_F(GEParticleCircularHaloShaderTest, GEParticleCircularHaloShaderTest006, params.noise_ = 4.0f; auto shader = GEParticleCircularHaloShader::CreateParticleCircularHaloShader(params); + void GEParticleCircularHaloShader::Preprocess(canvas_, rect_); auto shaderEffect = shader->MakeParticleCircularHaloShader(rect_); if (shaderEffect) { @@ -191,6 +197,7 @@ HWTEST_F(GEParticleCircularHaloShaderTest, GEParticleCircularHaloShaderTest007, params.noise_ = 4.0f; auto shader = GEParticleCircularHaloShader::CreateParticleCircularHaloShader(params); + void GEParticleCircularHaloShader::Preprocess(canvas_, rect_); auto shaderEffect = shader->MakeParticleCircularHaloShader(rect_); if (shaderEffect) { @@ -212,6 +219,7 @@ HWTEST_F(GEParticleCircularHaloShaderTest, GEParticleCircularHaloShaderTest008, params.noise_ = -2.0f; auto shader = GEParticleCircularHaloShader::CreateParticleCircularHaloShader(params); + void GEParticleCircularHaloShader::Preprocess(canvas_, rect_); auto shaderEffect = shader->MakeParticleCircularHaloShader(rect_); if (shaderEffect) { @@ -233,6 +241,7 @@ HWTEST_F(GEParticleCircularHaloShaderTest, GEParticleCircularHaloShaderTest009, params.noise_ = -2.0f; auto shader = GEParticleCircularHaloShader::CreateParticleCircularHaloShader(params); + void GEParticleCircularHaloShader::Preprocess(canvas_, rect_); auto shaderEffect = shader->MakeParticleCircularHaloShader(rect_); if (shaderEffect) { @@ -253,6 +262,7 @@ HWTEST_F(GEParticleCircularHaloShaderTest, GEParticleCircularHaloShaderTest010, params.noise_ = 2.0f; auto shader = GEParticleCircularHaloShader::CreateParticleCircularHaloShader(params); + void GEParticleCircularHaloShader::Preprocess(canvas_, rect_); auto shaderEffect = shader->MakeParticleCircularHaloShader(rect_); if (shaderEffect) { @@ -274,6 +284,7 @@ HWTEST_F(GEParticleCircularHaloShaderTest, GEParticleCircularHaloShaderTest011, params.noise_ = 2.0f; auto shader = GEParticleCircularHaloShader::CreateParticleCircularHaloShader(params); + void GEParticleCircularHaloShader::Preprocess(canvas_, rect_); auto shaderEffect = shader->MakeParticleCircularHaloShader(rect_); if (shaderEffect) {