From: Adeel Kazmi Date: Fri, 24 Mar 2017 18:05:30 +0000 (-0700) Subject: Merge "Disabled Atlasing for ImageVisuals to prevent bluring" into devel/master X-Git-Tag: dali_1.2.33~10 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=1fbb87959f02b4526fd66d9b8b39e4f8241c23ee;hp=-c Merge "Disabled Atlasing for ImageVisuals to prevent bluring" into devel/master --- 1fbb87959f02b4526fd66d9b8b39e4f8241c23ee diff --combined dali-toolkit/internal/visuals/image/image-visual.cpp index fe7507b,16b6eb2..5c8a004 --- a/dali-toolkit/internal/visuals/image/image-visual.cpp +++ b/dali-toolkit/internal/visuals/image/image-visual.cpp @@@ -31,6 -31,7 +31,7 @@@ // INTERNAL HEADERS #include + #include #include #include #include @@@ -58,6 -59,7 +59,7 @@@ const char * const IMAGE_SAMPLING_MODE const char * const IMAGE_DESIRED_WIDTH( "desiredWidth" ); const char * const IMAGE_DESIRED_HEIGHT( "desiredHeight" ); const char * const SYNCHRONOUS_LOADING( "synchronousLoading" ); + const char * const IMAGE_ATLASING("atlasing"); // fitting modes DALI_ENUM_TO_STRING_TABLE_BEGIN( FITTING_MODE ) @@@ -93,9 -95,7 +95,9 @@@ const char* DEFAULT_SAMPLER_TYPENAME = const char* VERTEX_SHADER = DALI_COMPOSE_SHADER( attribute mediump vec2 aPosition;\n - uniform mediump mat4 uMvpMatrix;\n + uniform mediump mat4 uModelMatrix;\n + uniform mediump mat4 uViewMatrix;\n + uniform mediump mat4 uProjection;\n uniform mediump vec3 uSize;\n uniform mediump vec4 pixelArea; varying mediump vec2 vTexCoord;\n @@@ -117,9 -117,7 +119,9 @@@ void main()\n {\n - mediump vec4 vertexPosition = uMvpMatrix * ComputeVertexPosition();\n + mediump vec4 vertexPosition = uViewMatrix * uModelMatrix * ComputeVertexPosition();\n + vertexPosition.xy = floor ( vertexPosition.xy );\n // Pixel alignment + vertexPosition = uProjection * vertexPosition;\n vTexCoord = pixelArea.xy+pixelArea.zw*(aPosition + vec2(0.5) );\n gl_Position = vertexPosition;\n }\n @@@ -257,7 -255,8 +259,8 @@@ ImageVisual::ImageVisual( VisualFactory mFittingMode( fittingMode ), mSamplingMode( samplingMode ), mWrapModeU( WrapMode::DEFAULT ), - mWrapModeV( WrapMode::DEFAULT ) + mWrapModeV( WrapMode::DEFAULT ), + mAttemptAtlasing( false ) { } @@@ -272,7 -271,8 +275,8 @@@ ImageVisual::ImageVisual( VisualFactory mFittingMode( FittingMode::DEFAULT ), mSamplingMode( SamplingMode::DEFAULT ), mWrapModeU( WrapMode::DEFAULT ), - mWrapModeV( WrapMode::DEFAULT ) + mWrapModeV( WrapMode::DEFAULT ), + mAttemptAtlasing( false ) { } @@@ -324,10 -324,14 +328,14 @@@ void ImageVisual::DoSetProperties( cons { DoSetProperty( Toolkit::ImageVisual::Property::SYNCHRONOUS_LOADING, keyValue.second ); } + else if ( keyValue.first == IMAGE_ATLASING ) + { + DoSetProperty( Toolkit::DevelImageVisual::Property::ATLASING, keyValue.second ); + } } } - if( mImpl->mFlags & Impl::IS_SYNCHRONOUS_RESOURCE_LOADING && mImageUrl.IsValid() ) + if( ( mImpl->mFlags & Impl::IS_SYNCHRONOUS_RESOURCE_LOADING ) && mImageUrl.IsValid() ) { // if sync loading is required, the loading should start // immediately when new image url is set or the actor is off stage @@@ -427,6 -431,12 +435,12 @@@ void ImageVisual::DoSetProperty( Proper mWrapModeV = Dali::WrapMode::Type( wrapMode ); break; } + + case Toolkit::DevelImageVisual::Property::ATLASING: + { + bool atlasing = false; + mAttemptAtlasing = value.Get( atlasing ); + } } } @@@ -632,7 -642,7 +646,7 @@@ void ImageVisual::InitializeRenderer( Vector4 atlasRect; // texture set has to be created first as we need to know if atlasing succeeded or not // when selecting the shader - TextureSet textures = CreateTextureSet( atlasRect, IsSynchronousResourceLoading(), true ); + TextureSet textures = CreateTextureSet( atlasRect, IsSynchronousResourceLoading(), mAttemptAtlasing ); CreateRenderer( textures ); if( mImpl->mFlags & Impl::IS_ATLASING_APPLIED ) // the texture is packed inside atlas @@@ -765,6 -775,8 +779,8 @@@ void ImageVisual::DoCreatePropertyMap( map.Insert( Toolkit::ImageVisual::Property::PIXEL_AREA, mPixelArea ); map.Insert( Toolkit::ImageVisual::Property::WRAP_MODE_U, mWrapModeU ); map.Insert( Toolkit::ImageVisual::Property::WRAP_MODE_V, mWrapModeV ); + + map.Insert( Toolkit::DevelImageVisual::Property::ATLASING, mAttemptAtlasing ); } void ImageVisual::DoCreateInstancePropertyMap( Property::Map& map ) const