52 virtual void Create()
override;
53 virtual void Destroy()
override;
65 return Cast<T>(Instantiate());
68 void ApplyRenderSettings(
World* world);
72 bool GetAmbientLightColor(glm::vec4& outColor)
const { outColor = mAmbientLightColor;
return mSetAmbientLightColor; }
76 static bool HandlePropChange(
Datum* datum, uint32_t index,
const void* newValue);
78 void AddNodeDef(
Node* node,
Platform platform, std::vector<Node*>& nodeList);
79 int32_t FindNodeIndex(
Node* node,
const std::vector<Node*>& nodeList);
81 bool CheckForNodeProps(std::vector<Property>& props);
89 bool mSetAmbientLightColor =
false;
90 bool mSetShadowColor =
false;
93 glm::vec4 mAmbientLightColor = { 0.1f, 0.1f, 0.1f, 1.0f };
94 glm::vec4 mShadowColor = { 0.0f, 0.0f, 0.0f, 0.8f };
96 bool mFogEnabled =
false;
97 glm::vec4 mFogColor = { 0.0f, 0.0f, 0.0f, 1.0f };
99 float mFogNear = 0.0f;
100 float mFogFar = 100.0f;
102 uint8_t mIconOverride = 0;
106 bool mOcclusionCullingEnabled =
false;
107 float mOcclusionCellSize = 4.0f;
108 uint8_t mOcclusionBakeQuality = 1;
109 bool mOcclusionDynamic =
true;
110 int32_t mOcclusionConsoleBudgetKB = 512;
116 const std::vector<Property>*
GetRootNodeProperties()
const {
return mNodeDefs.empty() ? nullptr : &mNodeDefs[0].mProperties; }
#define INVALID_TYPE_ID
Definition Constants.h:40
FogDensityFunc
Definition EngineTypes.h:598
Platform
Definition EngineTypes.h:32
uint32_t TypeId
Definition EngineTypes.h:75
#define POLYPHASE_API
Definition PolyphaseAPI.h:31
virtual void Create()
Definition Asset.cpp:78
virtual void SaveStream(Stream &stream, Platform platform)
Definition Asset.cpp:334
virtual glm::vec4 GetTypeColor()
Definition Asset.cpp:352
virtual const char * GetTypeName()
Definition Asset.cpp:357
virtual void GatherProperties(std::vector< Property > &outProps) override
Definition Asset.cpp:347
virtual void LoadStream(Stream &stream, Platform platform)
Definition Asset.cpp:320
virtual void Destroy()
Definition Asset.cpp:93
Definition OcclusionData.h:30
void Clear()
Definition OcclusionData.cpp:28
const OcclusionData & GetOcclusionData() const
Definition Scene.h:123
float GetOcclusionCellSize() const
Definition Scene.h:119
DECLARE_ASSET(Scene, Asset)
const std::string & GetMenuOverride() const
Definition Scene.h:115
SharedPtr< T > Instantiate()
Definition Scene.h:63
std::string mMenuOverride
Definition Scene.h:103
static std::vector< PendingNodePath > sPendingNodePaths
Definition Scene.h:84
static int32_t sInstantiationCount
Definition Scene.h:83
bool IsOcclusionCullingEnabled() const
Definition Scene.h:118
const std::vector< Property > * GetRootNodeProperties() const
Definition Scene.h:116
OcclusionData mOcclusionData
Definition Scene.h:111
uint32_t GetOcclusionConsoleBudgetKB() const
Definition Scene.h:122
void SetOcclusionData(OcclusionData &&data)
Definition Scene.h:124
void ClearOcclusionData()
Definition Scene.h:125
bool IsOcclusionDynamicEnabled() const
Definition Scene.h:121
bool GetAmbientLightColor(glm::vec4 &outColor) const
Definition Scene.h:72
std::vector< SceneNodeDef > mNodeDefs
Definition Scene.h:86
uint8_t GetOcclusionBakeQuality() const
Definition Scene.h:120
uint8_t GetIconOverride() const
Definition Scene.h:114
int32_t mParentIndex
Definition Scene.h:25
SceneRef mScene
Definition Scene.h:26
TypeId mType
Definition Scene.h:24
std::vector< Property > mProperties
Definition Scene.h:28
std::string mName
Definition Scene.h:27
bool mExposeVariable
Definition Scene.h:37
uint64_t mPersistentUuid
Definition Scene.h:38
std::vector< SubSceneOverride > mSubSceneOverrides
Definition Scene.h:30
std::vector< uint8_t > mExtraData
Definition Scene.h:29
int32_t mParentBone
Definition Scene.h:36
bool mBakedLighting
Definition Scene.h:18
std::vector< uint32_t > mInstanceColors
Definition Scene.h:19
std::string mPath
Definition Scene.h:15
std::vector< Property > mProperties
Definition Scene.h:16
bool mOverrideColors
Definition Scene.h:17