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=d6c1d1e39b577d6c622b469a666e72d1c2645347;hpb=37809ae7570411971d415a9060b38f64bba81744;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 d6c1d1e..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; @@ -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 );