Cogs.Core
DefaultMaterial.cpp
1#include "DefaultMaterial.h"
2
3#include "MaterialManager.h"
4
5Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::DiffuseColor = NoProperty;
6Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::SpecularColor = NoProperty;
7Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::EmissiveColor = NoProperty;
8
9Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::SpecularPower = NoProperty;
10
11Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::MasterColor = NoProperty;
12
13Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::OverrideColor = NoProperty;
14Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::OverrideAlpha = NoProperty;
15
16Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::DiffuseMap = NoProperty;
17Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::SpecularMap = NoProperty;
18Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::NormalMap = NoProperty;
19Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::OpacityMap = NoProperty;
20
21Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::EnableLighting = NoProperty;
22
23Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::LineWidth = NoProperty;
24Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::PointSize = NoProperty;
25
26Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::DiffuseMapScale = NoProperty;
27Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::NormalMapScale = NoProperty;
28Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::SpecularMapScale = NoProperty;
29
30Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::NormalMapFactor = NoProperty;
31
33{
34 auto material = materialManager->getDefaultMaterial();
35
36 materialManager->processLoading();
37
38 material->setMaterialFlag(MaterialFlags::Default);
39
40 DiffuseColor = material->getVec4Key("diffuseColor");
41 EmissiveColor = material->getVec3Key("emissiveColor");
42 SpecularColor = material->getVec3Key("specularColor");
43
44 SpecularPower = material->getFloatKey("specularPower");
45
46 MasterColor = material->getVec4Key("masterColor");
47
48 OverrideColor = material->getBoolKey("overrideColor");
49 OverrideAlpha = material->getBoolKey("overrideAlpha");
50
51 DiffuseMap = material->getTextureKey("diffuseMap");
52 SpecularMap = material->getTextureKey("specularMap");
53 NormalMap = material->getTextureKey("normalMap");
54 OpacityMap = material->getTextureKey("opacityMap");
55
56 EnableLighting = material->getBoolKey("enableLighting");
57
58 DiffuseMapScale = material->getVec2Key("diffuseMapScale");
59 NormalMapScale = material->getVec2Key("normalMapScale");
60 SpecularMapScale = material->getVec2Key("specularMapScale");
61
62 NormalMapFactor = material->getFloatKey("normalMapFactor");
63
64 LineWidth = material->getFloatKey("lineWidth");
65 PointSize = material->getFloatKey("pointSize");
66
67 material->setChanged();
68}
Material manager handling loading and processing of Material resources.
MaterialHandle getDefaultMaterial()
Get the default material.
void processLoading() final
Process loading resources.
uint16_t VariableKey
Used to lookup material properties.
Definition: Resources.h:46
static void initialize(MaterialManager *materialManager)
Initialize the default material, updating all material property keys.
@ Default
Default material.
Definition: Material.h:45