X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fscene3d-view%2Fgltf-loader.cpp;h=959a39f9ca1997ab14114b75caae792d65ca9f72;hb=70510385d88cfbd5c232117d8436ca74c523e172;hp=1132e9510afd8f95be7e5d614c73c62afa5f08d0;hpb=73eaac8af8efb9ac721db3fcf3c71a7a3115282a;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/scene3d-view/gltf-loader.cpp b/dali-toolkit/internal/controls/scene3d-view/gltf-loader.cpp index 1132e95..959a39f 100644 --- a/dali-toolkit/internal/controls/scene3d-view/gltf-loader.cpp +++ b/dali-toolkit/internal/controls/scene3d-view/gltf-loader.cpp @@ -17,12 +17,12 @@ // CLASS HEADER #include -#include // EXTERNAL INCLUDES #include #include #include +#include namespace Dali { @@ -106,7 +106,7 @@ bool ReadFloat( const TreeNode* node, float& num ) } else if( node->GetType() == TreeNode::INTEGER ) { - int32_t tempNum; + int32_t tempNum = 0; ReadInt( node, tempNum ); num = static_cast( tempNum ); returnValue = true; @@ -372,14 +372,14 @@ void SetMeshInfoAndCanonize( MeshInfo& meshInfo, Dali::Vector &ve } template -PropertyBuffer CreatePropertyBuffer( Vector bufferData, std::string map, int32_t type ) +VertexBuffer CreateVertexBuffer( Vector bufferData, std::string map, int32_t type ) { Property::Map positionMap; positionMap[map] = type; - PropertyBuffer propertyBuffer = PropertyBuffer::New( positionMap ); - propertyBuffer.SetData( bufferData.Begin(), bufferData.Count() ); - return propertyBuffer; + VertexBuffer vertexBuffer = VertexBuffer::New( positionMap ); + vertexBuffer.SetData( bufferData.Begin(), bufferData.Count() ); + return vertexBuffer; } void SetVertexBufferData( MeshInfo& meshInfo, std::string path, std::vector& accessorArray, std::vector& bufferViewArray, std::vector& bufferArray, int32_t accessorIdx, std::string map, int32_t type ) @@ -390,8 +390,8 @@ void SetVertexBufferData( MeshInfo& meshInfo, std::string path, std::vector( bufferData, map, type ); - meshInfo.geometry.AddVertexBuffer( propertyBuffer ); + VertexBuffer vertexBuffer = CreateVertexBuffer( bufferData, map, type ); + meshInfo.geometry.AddVertexBuffer( vertexBuffer ); } } @@ -403,8 +403,8 @@ void SetAttributeBufferData( MeshInfo& meshInfo, std::string path, std::vector bufferData; LoadDataFromAccessor( accessorIdx, bufferData, path, accessorArray, bufferViewArray, bufferArray ); - PropertyBuffer propertyBuffer = CreatePropertyBuffer( bufferData, map, type ); - meshInfo.geometry.AddVertexBuffer( propertyBuffer ); + VertexBuffer vertexBuffer = CreateVertexBuffer( bufferData, map, type ); + meshInfo.geometry.AddVertexBuffer( vertexBuffer ); } } @@ -1152,8 +1152,8 @@ bool SetGeometry( MeshInfo& meshInfo, std::string path, std::vector& bufferData[i].z = inputBufferData[i].z; bufferData[i].w = 1.0; } - PropertyBuffer propertyBuffer = CreatePropertyBuffer( bufferData, "aVertexColor", Property::VECTOR4 ); - meshInfo.geometry.AddVertexBuffer( propertyBuffer ); + VertexBuffer vertexBuffer = CreateVertexBuffer( bufferData, "aVertexColor", Property::VECTOR4 ); + meshInfo.geometry.AddVertexBuffer( vertexBuffer ); } else if( accessorArray[accessorIdx].type == "VEC4" ) { @@ -1503,35 +1503,35 @@ Actor Loader::AddNode( Scene3dView& scene3dView, uint32_t index ) bool isEmissiveTexture = false; std::string VERTEX_SHADER, FRAGMENT_SHADER; - VERTEX_SHADER = GLES_VERSION_300; - VERTEX_SHADER += PHYSICALLY_BASED_VERTEX_SHADER; - FRAGMENT_SHADER = GLES_VERSION_300; + VERTEX_SHADER = SHADER_GLTF_GLES_VERSION_300_DEF.data(); + VERTEX_SHADER += SHADER_GLTF_PHYSICALLY_BASED_SHADER_VERT.data(); + FRAGMENT_SHADER = SHADER_GLTF_GLES_VERSION_300_DEF.data(); bool useIBL = ( scene3dView.GetLightType() >= Toolkit::Scene3dView::LightType::IMAGE_BASED_LIGHT ); if( isMaterial ) { MaterialInfo materialInfo = mMaterialArray[meshInfo.materialsIdx]; - if( SetTextureAndSampler( textureSet, materialInfo.baseColorTexture.index, FRAGMENT_SHADER, DEFINE_BASECOLOR_TEXTURE, addIdx ) ) + if( SetTextureAndSampler( textureSet, materialInfo.baseColorTexture.index, FRAGMENT_SHADER, SHADER_GLTF_BASECOLOR_TEXTURE_DEF.data(), addIdx ) ) { shaderTypeIndex += static_cast( ShaderType::BASECOLOR_SHADER ); isBaseColorTexture = true; } - if( SetTextureAndSampler( textureSet, materialInfo.metallicRoughnessTexture.index, FRAGMENT_SHADER, DEFINE_METALLICROUGHNESS_TEXTURE, addIdx ) ) + if( SetTextureAndSampler( textureSet, materialInfo.metallicRoughnessTexture.index, FRAGMENT_SHADER, SHADER_GLTF_METALLICROUGHNESS_TEXTURE_DEF.data(), addIdx ) ) { shaderTypeIndex += static_cast( ShaderType::METALLICROUGHNESS_SHADER ); isMetallicRoughnessTexture = true; } - if( SetTextureAndSampler( textureSet, materialInfo.normalTexture.index, FRAGMENT_SHADER, DEFINE_NORMAL_TEXTURE, addIdx ) ) + if( SetTextureAndSampler( textureSet, materialInfo.normalTexture.index, FRAGMENT_SHADER, SHADER_GLTF_NORMAL_TEXTURE_DEF.data(), addIdx ) ) { shaderTypeIndex += static_cast( ShaderType::NORMAL_SHADER ); isNormalTexture = true; } - if( SetTextureAndSampler( textureSet, materialInfo.occlusionTexture.index, FRAGMENT_SHADER, DEFINE_OCCLUSION_TEXTURE, addIdx ) ) + if( SetTextureAndSampler( textureSet, materialInfo.occlusionTexture.index, FRAGMENT_SHADER, SHADER_GLTF_OCCULUSION_TEXTURE_DEF.data(), addIdx ) ) { shaderTypeIndex += static_cast( ShaderType::OCCLUSION_SHADER ); isOcclusionTexture = true; } - if( SetTextureAndSampler( textureSet, materialInfo.emissiveTexture.index, FRAGMENT_SHADER, DEFINE_EMIT_TEXTURE, addIdx ) ) + if( SetTextureAndSampler( textureSet, materialInfo.emissiveTexture.index, FRAGMENT_SHADER, SHADER_GLTF_EMIT_TEXTURE_DEF.data(), addIdx ) ) { shaderTypeIndex += static_cast( ShaderType::EMIT_SHADER ); isEmissiveTexture = true; @@ -1540,7 +1540,7 @@ Actor Loader::AddNode( Scene3dView& scene3dView, uint32_t index ) if( useIBL ) { shaderTypeIndex += static_cast( ShaderType::IBL_SHADER ); - FRAGMENT_SHADER += DEFINE_IBL_TEXTURE; + FRAGMENT_SHADER += SHADER_GLTF_IBL_TEXTURE_DEF.data(); Sampler sampler = Sampler::New(); sampler.SetFilterMode( FilterMode::DEFAULT, FilterMode::DEFAULT ); @@ -1567,7 +1567,7 @@ Actor Loader::AddNode( Scene3dView& scene3dView, uint32_t index ) } } - FRAGMENT_SHADER += PHYSICALLY_BASED_FRAGMENT_SHADER; + FRAGMENT_SHADER += SHADER_GLTF_PHYSICALLY_BASED_SHADER_FRAG.data(); if( !mShaderCache[shaderTypeIndex] ) { mShaderCache[shaderTypeIndex] = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER );