From: seungho baek Date: Mon, 20 Nov 2023 09:32:44 +0000 (+0900) Subject: [Tizen] Fix Making Issue of SceneView X-Git-Tag: accepted/tizen/7.0/unified/20231121.121559^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bb324727743f7bbb2df006e9d181c839b2f77f90;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git [Tizen] Fix Making Issue of SceneView Change-Id: I1079d0be81697015bbcdc43fe1732252547a4c1e Signed-off-by: seungho baek --- diff --git a/dali-scene3d/internal/controls/scene-view/scene-view-impl.cpp b/dali-scene3d/internal/controls/scene-view/scene-view-impl.cpp index 73c7712..f370b59 100644 --- a/dali-scene3d/internal/controls/scene-view/scene-view-impl.cpp +++ b/dali-scene3d/internal/controls/scene-view/scene-view-impl.cpp @@ -1111,6 +1111,7 @@ void SceneView::UpdateRenderTask() // To flip rendered scene without CameraActor::SetInvertYAxis() to avoid backface culling. imagePropertyMap.Insert(Toolkit::ImageVisual::Property::PIXEL_AREA, Vector4(0.0f, 1.0f, 1.0f, -1.0f)); imagePropertyMap.Insert(Toolkit::ImageVisual::Property::ALPHA_MASK_URL, mAlphaMaskUrl); + imagePropertyMap.Insert(Toolkit::ImageVisual::Property::SYNCHRONOUS_LOADING, true); if(!mAlphaMaskUrl.empty()) { imagePropertyMap.Insert(Toolkit::ImageVisual::Property::MASK_CONTENT_SCALE, mMaskContentScaleFactor); @@ -1119,6 +1120,7 @@ void SceneView::UpdateRenderTask() } mMaskingPropertyChanged = false; mVisual = Toolkit::VisualFactory::Get().CreateVisual(imagePropertyMap); + Self().RegisterProperty("uYFlipMaskTexture", 1.0f); Toolkit::DevelControl::RegisterVisual(*this, RENDERING_BUFFER, mVisual); diff --git a/dali-toolkit/internal/graphics/shaders/image-visual-shader.frag b/dali-toolkit/internal/graphics/shaders/image-visual-shader.frag index cb5e765..cd5aefc 100644 --- a/dali-toolkit/internal/graphics/shaders/image-visual-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/image-visual-shader.frag @@ -16,6 +16,7 @@ uniform sampler2D sTextureV; #ifdef IS_REQUIRED_ALPHA_MASKING uniform sampler2D sMaskTexture; +uniform mediump float uYFlipMaskTexture; INPUT mediump vec2 vMaskTexCoord; #endif @@ -245,7 +246,9 @@ void main() #endif #ifdef IS_REQUIRED_ALPHA_MASKING - mediump float maskAlpha = TEXTURE(sMaskTexture, vMaskTexCoord).a; + mediump vec2 maskTexCoord = vMaskTexCoord; + maskTexCoord.y = mix(maskTexCoord.y, 1.0-maskTexCoord.y, uYFlipMaskTexture); + mediump float maskAlpha = TEXTURE(sMaskTexture, maskTexCoord).a; textureColor.a *= maskAlpha; textureColor.rgb *= mix(1.0, maskAlpha, preMultipliedAlpha); #endif diff --git a/dali-toolkit/internal/visuals/image-visual-shader-factory.cpp b/dali-toolkit/internal/visuals/image-visual-shader-factory.cpp index 728c219..3154831 100644 --- a/dali-toolkit/internal/visuals/image-visual-shader-factory.cpp +++ b/dali-toolkit/internal/visuals/image-visual-shader-factory.cpp @@ -271,6 +271,7 @@ Shader ImageVisualShaderFactory::GetShader(VisualFactoryCache& factoryCache, con } shader = Shader::New(vertexShader, fragmentShader); shader.RegisterProperty(PIXEL_AREA_UNIFORM_NAME, FULL_TEXTURE_RECT); + shader.RegisterProperty("uYFlipMaskTexture", 0.0f); factoryCache.SaveShader(shaderType, shader); }