X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fmodel3d-view%2Fmodel3d-view-impl.cpp;h=eac2d8934bfe48e0b60a5263a9f31a3ff0089314;hp=d395fb2e628a221d02b0d369bce3c1d478826826;hb=b00bd1f5f0925dcdf424567116cc208efc48d769;hpb=c97f82fcfa9085f4144863e28909476e611bc0d8 diff --git a/dali-toolkit/internal/controls/model3d-view/model3d-view-impl.cpp b/dali-toolkit/internal/controls/model3d-view/model3d-view-impl.cpp index d395fb2..eac2d89 100644 --- a/dali-toolkit/internal/controls/model3d-view/model3d-view-impl.cpp +++ b/dali-toolkit/internal/controls/model3d-view/model3d-view-impl.cpp @@ -423,7 +423,7 @@ void Model3dView::OnStageConnection( int depth ) if( mObjLoader.IsSceneLoaded() ) { - mMesh = mObjLoader.CreateGeometry( mIlluminationType ); + mMesh = mObjLoader.CreateGeometry( GetShaderProperties( mIlluminationType ) ); CreateMaterial(); LoadTextures(); @@ -462,9 +462,7 @@ void Model3dView::LoadGeometry() if (FileLoader::ReadFile(mObjUrl,fileSize,fileContent,FileLoader::TEXT)) { mObjLoader.ClearArrays(); - - std::string materialUrl; - mObjLoader.Load(fileContent.Begin(), fileSize, materialUrl); + mObjLoader.LoadObject(fileContent.Begin(), fileSize); //Get size information from the obj loaded mSceneCenter = mObjLoader.GetCenter(); @@ -520,7 +518,7 @@ void Model3dView::CreateGeometry() { if( mObjLoader.IsSceneLoaded() ) { - mMesh = mObjLoader.CreateGeometry( mIlluminationType ); + mMesh = mObjLoader.CreateGeometry( GetShaderProperties( mIlluminationType ) ); if( mRenderer ) { @@ -629,6 +627,24 @@ void Model3dView::LoadTextures() } } +int Model3dView::GetShaderProperties( Toolkit::Model3dView::IlluminationType illuminationType ) +{ + int objectProperties = 0; + + if( illuminationType == Toolkit::Model3dView::DIFFUSE_WITH_TEXTURE || + illuminationType == Toolkit::Model3dView::DIFFUSE_WITH_NORMAL_MAP ) + { + objectProperties |= ObjLoader::TEXTURE_COORDINATES; + } + + if( illuminationType == Toolkit::Model3dView::DIFFUSE_WITH_NORMAL_MAP ) + { + objectProperties |= ObjLoader::TANGENTS | ObjLoader::BINOMIALS; + } + + return objectProperties; +} + } // namespace Internal } // namespace Toolkit } // namespace Dali