19 glm::vec4
mColor = { 1.0f, 1.0f, 1.0f, 1.0f };
50 virtual void Create()
override;
51 virtual void Destroy()
override;
58 virtual bool IsLite()
const override;
60 void SaveLiteParams(
Stream& stream);
61 void LoadLiteParams(
Stream& stream, uint32_t version);
64 virtual bool HasNodeGraph()
const override {
return mUseNodeGraph; }
70 void SetUseNodeGraph(
bool use);
71 void ApplyGraphToParams();
76 void SetTexture(uint32_t slot,
Texture* texture);
77 Texture* GetTexture(uint32_t slot);
88 glm::vec2 GetUvOffset(int32_t uvIndex = 0)
const;
89 void SetUvOffset(glm::vec2 offset, int32_t uvIndex = 0);
91 glm::vec2 GetUvScale(int32_t uvIndex = 0)
const;
92 void SetUvScale(glm::vec2 scale, int32_t uvIndex = 0);
94 glm::vec4 GetColor()
const;
95 void SetColor(
const glm::vec4& color);
97 glm::vec4 GetFresnelColor()
const;
98 void SetFresnelColor(
const glm::vec4& color);
100 float GetEmission()
const;
101 void SetEmission(
float emission);
103 float GetWrapLighting()
const;
104 void SetWrapLighting(
float wrapLighting);
106 float GetFresnelPower()
const;
107 void SetFresnelPower(
float power);
109 float GetSpecular()
const;
110 void SetSpecular(
float specular);
112 uint32_t GetToonSteps()
const;
113 void SetToonSteps(uint32_t steps);
115 float GetOpacity()
const;
116 void SetOpacity(
float opacity);
119 void SetMaskCutoff(
float cutoff);
121 float GetShininess()
const;
122 void SetShininess(
float shininess);
125 void SetSortPriority(int32_t priority);
128 void SetDepthTestDisabled(
bool depthTest);
130 bool IsFresnelEnabled()
const;
131 void SetFresnelEnabled(
bool enable);
134 void SetApplyFog(
bool applyFog);
137 void SetCullMode(
CullMode cullMode);
139 uint32_t GetUvMap(uint32_t textureSlot);
140 void SetUvMap(uint32_t textureSlot, uint32_t uvMapIndex);
142 TevMode GetTevMode(uint32_t textureSlot);
143 void SetTevMode(uint32_t textureSlot,
TevMode mode);
145 static bool HandlePropChange(
Datum* datum, uint32_t index,
const void* newValue);
152 bool mUseNodeGraph =
false;
#define MAX_UV_MAPS
Definition Constants.h:27
#define MATERIAL_LITE_MAX_TEXTURES
Definition Constants.h:22
CullMode
Definition EngineTypes.h:139
Platform
Definition EngineTypes.h:31
ShadingModel
Definition EngineTypes.h:97
VertexColorMode
Definition EngineTypes.h:116
TevMode
Definition EngineTypes.h:125
BlendMode
Definition EngineTypes.h:106
const char * gVertexColorModeStrings[]
const char * gShadingModelStrings[]
#define POLYPHASE_API
Definition PolyphaseAPI.h:31
Definition MaterialLite.h:38
virtual bool HasNodeGraph() const override
Definition MaterialLite.h:64
virtual NodeGraph * GetNodeGraph() override
Definition MaterialLite.h:65
DECLARE_ASSET(MaterialLite, Material)
NodeGraph & GetGraph()
Definition MaterialLite.h:68
NodeGraph mGraph
Definition MaterialLite.h:151
MaterialLiteParams mLiteParams
Definition MaterialLite.h:150
const NodeGraph & GetGraph() const
Definition MaterialLite.h:69
virtual glm::vec4 GetTypeColor() override
Definition Material.cpp:94
virtual bool Import(const std::string &path, ImportOptions *options) override
Definition Material.cpp:84
virtual void SaveStream(Stream &stream, Platform platform) override
Definition Material.cpp:42
virtual bool IsDepthTestDisabled() const
Definition Material.cpp:283
virtual void LoadStream(Stream &stream, Platform platform) override
Definition Material.cpp:10
virtual void ApplyGraphValues(NodeGraph *graph)
Definition Material.h:94
virtual const char * GetTypeName() override
Definition Material.cpp:99
virtual bool ShouldApplyFog() const
Definition Material.cpp:284
virtual BlendMode GetBlendMode() const
Definition Material.cpp:280
virtual CullMode GetCullMode() const
Definition Material.cpp:285
virtual void GatherProperties(std::vector< Property > &outProps) override
Definition Material.cpp:89
virtual int32_t GetSortPriority() const
Definition Material.cpp:282
virtual void Destroy() override
Definition Material.cpp:79
virtual float GetMaskCutoff() const
Definition Material.cpp:281
virtual void Create() override
Definition Material.cpp:74
virtual bool IsLite() const
Definition Material.cpp:119
Definition NodeGraph.h:17
virtual bool DrawCustomProperty(Property &prop)
Definition Object.h:46
Definition MaterialLite.h:10
float mWrapLighting
Definition MaterialLite.h:22
uint32_t mToonSteps
Definition MaterialLite.h:25
int32_t mSortPriority
Definition MaterialLite.h:29
BlendMode mBlendMode
Definition MaterialLite.h:12
TextureRef mTextures[MATERIAL_LITE_MAX_TEXTURES]
Definition MaterialLite.h:14
VertexColorMode mVertexColorMode
Definition MaterialLite.h:13
glm::vec2 mUvOffsets[MAX_UV_MAPS]
Definition MaterialLite.h:17
float mOpacity
Definition MaterialLite.h:26
float mFresnelPower
Definition MaterialLite.h:23
bool mDisableDepthTest
Definition MaterialLite.h:31
float mShininess
Definition MaterialLite.h:28
TevMode mTevModes[MATERIAL_LITE_MAX_TEXTURES]
Definition MaterialLite.h:16
glm::vec4 mFresnelColor
Definition MaterialLite.h:20
glm::vec2 mUvScales[MAX_UV_MAPS]
Definition MaterialLite.h:18
float mEmission
Definition MaterialLite.h:21
CullMode mCullMode
Definition MaterialLite.h:34
uint32_t mNumTextures
Definition MaterialLite.h:30
ShadingModel mShadingModel
Definition MaterialLite.h:11
bool mApplyFog
Definition MaterialLite.h:33
bool mFresnelEnabled
Definition MaterialLite.h:32
float mMaskCutoff
Definition MaterialLite.h:27
float mSpecular
Definition MaterialLite.h:24
uint8_t mUvMaps[MATERIAL_LITE_MAX_TEXTURES]
Definition MaterialLite.h:15
glm::vec4 mColor
Definition MaterialLite.h:19