X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fatlas-manager%2Fatlas-manager-impl.cpp;h=bfcf1fad89e05562ff41fd4ee5e9e75b63a34f00;hp=868c5895ca4c2ca502e1fc2808cc8adc7d424111;hb=f08e4b14661ae1b25d01f417f58310c44407ebf6;hpb=2a90cc1250ee0a605436d4a6cf9f4fafab110e06 diff --git a/dali-toolkit/internal/atlas-manager/atlas-manager-impl.cpp b/dali-toolkit/internal/atlas-manager/atlas-manager-impl.cpp index 868c589..bfcf1fa 100644 --- a/dali-toolkit/internal/atlas-manager/atlas-manager-impl.cpp +++ b/dali-toolkit/internal/atlas-manager/atlas-manager-impl.cpp @@ -133,7 +133,7 @@ Toolkit::AtlasManager::AtlasId AtlasManager::CreateAtlas( const Toolkit::AtlasMa atlasDescriptor.mVerticalStrip = BufferImage::New( SINGLE_PIXEL_PADDING, blockHeight - DOUBLE_PIXEL_PADDING, pixelformat ); memset( atlasDescriptor.mHorizontalStrip.GetBuffer(), 0, atlasDescriptor.mHorizontalStrip.GetBufferSize() ); - memset( atlasDescriptor.mVerticalStrip.GetBuffer(), 0, atlasDescriptor.mHorizontalStrip.GetBufferSize() ); + memset( atlasDescriptor.mVerticalStrip.GetBuffer(), 0, atlasDescriptor.mVerticalStrip.GetBufferSize() ); BufferImage filledPixelImage = BufferImage::New( 1u, 1u, pixelformat ); memset( filledPixelImage.GetBuffer(), 0xFF, filledPixelImage.GetBufferSize() ); @@ -489,16 +489,22 @@ void AtlasManager::StitchMesh( Toolkit::AtlasManager::Mesh2D& first, const Toolkit::AtlasManager::Mesh2D& second, bool optimize ) { - uint32_t vc = first.mVertices.Size(); + const uint32_t verticesCount = first.mVertices.Size(); + first.mVertices.Insert( first.mVertices.End(), + second.mVertices.Begin(), + second.mVertices.End() ); - for ( uint32_t v = 0; v < second.mVertices.Size(); ++v ) - { - first.mVertices.PushBack( second.mVertices[ v ] ); - } + const uint32_t indicesCount = first.mIndices.Size(); + first.mIndices.Insert( first.mIndices.End(), + second.mIndices.Begin(), + second.mIndices.End() ); - for ( uint32_t i = 0; i < second.mIndices.Size(); ++i ) + for( Vector::Iterator it = first.mIndices.Begin() + indicesCount, + endIt = first.mIndices.End(); + it != endIt; + ++it ) { - first.mIndices.PushBack( second.mIndices[ i ] + vc ); + *it += verticesCount; } if ( optimize ) @@ -509,41 +515,6 @@ void AtlasManager::StitchMesh( Toolkit::AtlasManager::Mesh2D& first, } } -void AtlasManager::StitchMesh( const Toolkit::AtlasManager::Mesh2D& first, - const Toolkit::AtlasManager::Mesh2D& second, - Toolkit::AtlasManager::Mesh2D& out, - bool optimize ) -{ - uint32_t vc = first.mVertices.Size(); - - for ( uint32_t v = 0; v < vc; ++v ) - { - out.mVertices.PushBack( first.mVertices[ v ] ); - } - - for ( uint32_t v = 0; v < second.mVertices.Size(); ++v ) - { - out.mVertices.PushBack( second.mVertices[ v ] ); - } - - for ( uint32_t i = 0; i < first.mIndices.Size(); ++i ) - { - out.mIndices.PushBack( first.mIndices[ i ] ); - } - - for ( uint32_t i = 0; i < second.mIndices.Size(); ++i ) - { - out.mIndices.PushBack( second.mIndices[ i ] + vc ); - } - - if ( optimize ) - { - Toolkit::AtlasManager::Mesh2D optimizedMesh; - OptimizeMesh( out, optimizedMesh ); - out = optimizedMesh; - } -} - void AtlasManager::UploadImage( const BufferImage& image, const AtlasSlotDescriptor& desc ) {