// CLASS HEADER
#include <dali-toolkit/internal/controls/scene3d-view/gltf-loader.h>
-#include <dali-toolkit/internal/controls/scene3d-view/gltf-shader.h>
// EXTERNAL INCLUDES
#include <dali/integration-api/debug.h>
#include <dali/devel-api/adaptor-framework/image-loading.h>
#include <dali/devel-api/adaptor-framework/file-stream.h>
+#include <dali-toolkit/internal/graphics/builtin-shader-extern-gen.h>
namespace Dali
{
}
else if( node->GetType() == TreeNode::INTEGER )
{
- int32_t tempNum;
+ int32_t tempNum = 0;
ReadInt( node, tempNum );
num = static_cast<float>( tempNum );
returnValue = true;
}
template <typename T>
-PropertyBuffer CreatePropertyBuffer( Vector<T> bufferData, std::string map, int32_t type )
+VertexBuffer CreateVertexBuffer( Vector<T> 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<AccessorInfo>& accessorArray, std::vector<BufferViewInfo>& bufferViewArray, std::vector<BufferInfo>& bufferArray, int32_t accessorIdx, std::string map, int32_t type )
LoadDataFromAccessor( accessorIdx, bufferData, path, accessorArray, bufferViewArray, bufferArray );
SetMeshInfoAndCanonize( meshInfo, bufferData );
- PropertyBuffer propertyBuffer = CreatePropertyBuffer<Vector3>( bufferData, map, type );
- meshInfo.geometry.AddVertexBuffer( propertyBuffer );
+ VertexBuffer vertexBuffer = CreateVertexBuffer<Vector3>( bufferData, map, type );
+ meshInfo.geometry.AddVertexBuffer( vertexBuffer );
}
}
Dali::Vector<T> bufferData;
LoadDataFromAccessor( accessorIdx, bufferData, path, accessorArray, bufferViewArray, bufferArray );
- PropertyBuffer propertyBuffer = CreatePropertyBuffer<T>( bufferData, map, type );
- meshInfo.geometry.AddVertexBuffer( propertyBuffer );
+ VertexBuffer vertexBuffer = CreateVertexBuffer<T>( bufferData, map, type );
+ meshInfo.geometry.AddVertexBuffer( vertexBuffer );
}
}
bufferData[i].z = inputBufferData[i].z;
bufferData[i].w = 1.0;
}
- PropertyBuffer propertyBuffer = CreatePropertyBuffer<Vector4>( bufferData, "aVertexColor", Property::VECTOR4 );
- meshInfo.geometry.AddVertexBuffer( propertyBuffer );
+ VertexBuffer vertexBuffer = CreateVertexBuffer<Vector4>( bufferData, "aVertexColor", Property::VECTOR4 );
+ meshInfo.geometry.AddVertexBuffer( vertexBuffer );
}
else if( accessorArray[accessorIdx].type == "VEC4" )
{
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<int32_t>( 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<int32_t>( 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<int32_t>( 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<int32_t>( 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<int32_t>( ShaderType::EMIT_SHADER );
isEmissiveTexture = true;
if( useIBL )
{
shaderTypeIndex += static_cast<int32_t>( 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 );
}
}
- 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 );
}
Animation animation = Animation::New( duration );
- Animation::Interpolation interpolation = Animation::Interpolation::Linear;
+ Animation::Interpolation interpolation = Animation::Interpolation::LINEAR;
if( animationInfo.samplerArray[currentChannel.sampler].interpolation == "CUBICSPLINE" )
{
- interpolation = Animation::Interpolation::Cubic;
+ interpolation = Animation::Interpolation::CUBIC;
}
if( animationInfo.samplerArray[currentChannel.sampler].interpolation == "STEP" )
{