X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-scene3d%2Fpublic-api%2Floader%2Fnode-definition.cpp;h=98405d7b13277998a0c24ce67cb10d2e01d64c6f;hb=e4c8362431523550a745b190c67c0c8e3f25ac4d;hp=bbed301914abf1d806bc6982ed00b3a163a17a47;hpb=d422b1fb69102251e623b19f6b8e4afe6f66cd24;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-scene3d/public-api/loader/node-definition.cpp b/dali-scene3d/public-api/loader/node-definition.cpp index bbed301..98405d7 100644 --- a/dali-scene3d/public-api/loader/node-definition.cpp +++ b/dali-scene3d/public-api/loader/node-definition.cpp @@ -61,11 +61,13 @@ void NodeDefinition::Renderable::OnCreate(const NodeDefinition& node, CreatePara actor.AddRenderer(renderer); } -const std::string NodeDefinition::ORIGINAL_MATRIX_PROPERTY_NAME = "originalMatrix"; +const char* NodeDefinition::ORIGINAL_MATRIX_PROPERTY_NAME = "originalMatrix"; -Actor NodeDefinition::CreateActor(CreateParams& params) const +Actor NodeDefinition::CreateActor(CreateParams& params) { Actor actor = Actor::New(); + mNodeId = actor.GetProperty(Dali::Actor::Property::ID); + SetActorCentered(actor); actor.SetProperty(Actor::Property::NAME, mName); @@ -77,6 +79,8 @@ Actor NodeDefinition::CreateActor(CreateParams& params) const actor.RegisterProperty(ORIGINAL_MATRIX_PROPERTY_NAME, GetLocalSpace(), Property::AccessMode::READ_ONLY); + actor.SetProperty(Actor::Property::COLOR_MODE, ColorMode::USE_OWN_MULTIPLY_PARENT_COLOR); + for(auto& renderable : mRenderables) { renderable->OnCreate(*this, params, actor); @@ -244,20 +248,10 @@ void ModelRenderable::OnCreate(const NodeDefinition& node, NodeDefinition::Creat renderer.RegisterProperty(IBL_INTENSITY_STRING.data(), resources.mEnvironmentMaps[envIdx].first.mIblIntensity); renderer.RegisterProperty(IBL_Y_DIRECTION.data(), resources.mEnvironmentMaps[envIdx].first.mYDirection); - float opaque = 0.0f; - float mask = 0.0f; + float opaque = matDef.mIsOpaque ? 1.0f : 0.0f; + float mask = matDef.mIsMask ? 1.0f : 0.0f; float alphaCutoff = matDef.GetAlphaCutoff(); - if(!MaskMatch(matDef.mFlags, MaterialDefinition::TRANSPARENCY)) - { - opaque = 1.0f; - } - else - { - if(alphaCutoff > 0.f) - { - mask = 1.0f; - } - } + renderer.RegisterProperty("uOpaque", opaque); renderer.RegisterProperty("uMask", mask); renderer.RegisterProperty("uAlphaThreshold", alphaCutoff);