#include <dali/public-api/object/type-registry-helper.h>
#include <dali/public-api/object/type-registry.h>
#include <dali/public-api/rendering/sampler.h>
-#include "material-modify-observer.h"
// INTERNAL INCLUDES
#include <dali-scene3d/internal/graphics/builtin-shader-extern-gen.h>
+#include <dali-scene3d/internal/model-components/material-modify-observer.h>
#include <dali-scene3d/public-api/loader/node-definition.h>
#include <dali-scene3d/public-api/loader/renderer-state.h>
#include <dali-scene3d/public-api/loader/utils.h>
// Block during notifying to observer
if(mObserverNotifying)
{
- for(uint32_t i = 0; i<mObservers.size(); ++i)
+ for(uint32_t i = 0; i < mObservers.size(); ++i)
{
if(mObservers[i].first == observer)
{
}
else
{
- for(uint32_t i = 0; i<mObservers.size(); ++i)
+ for(uint32_t i = 0; i < mObservers.size(); ++i)
{
if(mObservers[i].first == observer)
{
if(mAlphaMode == Dali::Scene3D::Material::AlphaModeType::BLEND)
{
mIsOpaque = false;
- mIsMask = false;
+ mIsMask = false;
materialFlag |= Scene3D::Loader::MaterialDefinition::TRANSPARENCY;
}
else if(mAlphaMode == Dali::Scene3D::Material::AlphaModeType::MASK)
{
mIsOpaque = true;
- mIsMask = true;
+ mIsMask = true;
}
const bool hasTransparency = MaskMatch(materialFlag, Scene3D::Loader::MaterialDefinition::TRANSPARENCY);
mObserverNotifying = false;
// Resolve observer queue during notify
- mObservers.erase(std::remove_if(mObservers.begin(), mObservers.end(), [](auto& e){return !e.second;}), mObservers.end());
+ mObservers.erase(std::remove_if(mObservers.begin(), mObservers.end(), [](auto& e) { return !e.second; }), mObservers.end());
}
}
private:
// Delete copy & move operator
- Material(const Material&) = delete;
- Material(Material&&) = delete;
+ Material(const Material&) = delete;
+ Material(Material&&) = delete;
Material& operator=(const Material& rhs) = delete;
- Material& operator=(Material&& rhs) = delete;
+ Material& operator=(Material&& rhs) = delete;
private:
- ObserverContainer mObservers{}; ///< List of observers who need to be notified after some properties are changed.
+ ObserverContainer mObservers{}; ///< List of observers who need to be notified after some properties are changed.
TextureInformationContainer mTextureInformations;
Dali::Toolkit::AsyncImageLoader mAsyncImageLoader;
std::string mName; ///< Material name
- Dali::Scene3D::Material::AlphaModeType mAlphaMode; ///< Alpha mode
+ Dali::Scene3D::Material::AlphaModeType mAlphaMode = Scene3D::Material::AlphaModeType::OPAQUE; ///< Alpha mode
float mAlphaCutoff = 0.5f; ///< Alpha cutoff value
bool mDoubleSided = false; ///< Whether to render both sides
float mIor = -1.0f; ///< Index of refraction (TODO: Magic number)
Scene3D::Loader::ShaderDefinition::RawData mShaderData;
- uint32_t mMaterialFlag;
- Scene3D::Loader::RendererState::Type mRendererState;
+ uint32_t mMaterialFlag = 0u;
+ Scene3D::Loader::RendererState::Type mRendererState = Scene3D::Loader::RendererState::NONE;
bool mIsOpaque = true;
bool mIsMask = false;