Cogs.Core
Static Public Member Functions | Static Public Attributes | List of all members
Cogs::Core::DefaultMaterial Struct Reference

Default material. More...

#include <DefaultMaterial.h>

Static Public Member Functions

static void initialize (MaterialManager *materialManager)
 Initialize the default material, updating all material property keys.
 

Static Public Attributes

static VariableKey DiffuseColor = NoProperty
 
static VariableKey SpecularColor = NoProperty
 
static VariableKey EmissiveColor = NoProperty
 
static VariableKey SpecularPower = NoProperty
 
static VariableKey MasterColor = NoProperty
 
static VariableKey OverrideColor = NoProperty
 
static VariableKey OverrideAlpha = NoProperty
 
static VariableKey DiffuseMap = NoProperty
 
static VariableKey SpecularMap = NoProperty
 
static VariableKey NormalMap = NoProperty
 
static VariableKey OpacityMap = NoProperty
 
static VariableKey EnableLighting = NoProperty
 
static VariableKey LineWidth = NoProperty
 
static VariableKey PointSize = NoProperty
 
static VariableKey DiffuseMapScale = NoProperty
 
static VariableKey NormalMapScale = NoProperty
 
static VariableKey SpecularMapScale = NoProperty
 
static VariableKey NormalMapFactor = NoProperty
 

Detailed Description

Default material.

A material is created in the MaterialManager, of which all property keys are stored in the keys found here. The default material is set as the default resource of MaterialManager and can be retrieved using MaterialManager::getDefaultMaterial().

Typical instantiation of a default material and usage:

...
// From context/entity.
MeshRenderComponent * meshRenderComponent;
MaterialManager * materialManager;
MaterialInstanceManager * materialInstanceManager;
// Create a new instance from the default material, sharing all properties and default values.
auto instance = materialInstanceManager->createMaterialInstance(materialManager->getDefaultMaterial());
// Set material color to red.
instance->setVec4Property(DefaultMaterial::DiffuseColor, glm::vec4(1, 0, 0 ,1));
// Use the material instance on a mesh.
meshRenderComponent->materialHandle = instance;
Material instance manager handles creation, processing and lifetime for MaterialInstance resources.
MaterialInstanceHandle createMaterialInstance(const MaterialHandle &material)
Create a new MaterialInstance from the Material given held by material.
Material manager handling loading and processing of Material resources.
MaterialHandle getDefaultMaterial()
Get the default material.
void setVec4Property(const VariableKey key, glm::vec4 value)
Set the vec4 property with the given key to value.

Definition at line 39 of file DefaultMaterial.h.

Member Function Documentation

◆ initialize()

void Cogs::Core::DefaultMaterial::initialize ( MaterialManager materialManager)
static

Member Data Documentation

◆ DiffuseColor

Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::DiffuseColor = NoProperty
static

Definition at line 46 of file DefaultMaterial.h.

◆ DiffuseMap

Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::DiffuseMap = NoProperty
static

Definition at line 57 of file DefaultMaterial.h.

◆ DiffuseMapScale

Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::DiffuseMapScale = NoProperty
static

Definition at line 67 of file DefaultMaterial.h.

◆ EmissiveColor

Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::EmissiveColor = NoProperty
static

Definition at line 48 of file DefaultMaterial.h.

◆ EnableLighting

Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::EnableLighting = NoProperty
static

Definition at line 62 of file DefaultMaterial.h.

◆ LineWidth

Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::LineWidth = NoProperty
static

Definition at line 64 of file DefaultMaterial.h.

◆ MasterColor

Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::MasterColor = NoProperty
static

Definition at line 52 of file DefaultMaterial.h.

◆ NormalMap

Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::NormalMap = NoProperty
static

Definition at line 59 of file DefaultMaterial.h.

◆ NormalMapFactor

Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::NormalMapFactor = NoProperty
static

Definition at line 71 of file DefaultMaterial.h.

◆ NormalMapScale

Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::NormalMapScale = NoProperty
static

Definition at line 68 of file DefaultMaterial.h.

◆ OpacityMap

Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::OpacityMap = NoProperty
static

Definition at line 60 of file DefaultMaterial.h.

◆ OverrideAlpha

Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::OverrideAlpha = NoProperty
static

Definition at line 55 of file DefaultMaterial.h.

◆ OverrideColor

Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::OverrideColor = NoProperty
static

Definition at line 54 of file DefaultMaterial.h.

◆ PointSize

Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::PointSize = NoProperty
static

Definition at line 65 of file DefaultMaterial.h.

◆ SpecularColor

Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::SpecularColor = NoProperty
static

Definition at line 47 of file DefaultMaterial.h.

◆ SpecularMap

Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::SpecularMap = NoProperty
static

Definition at line 58 of file DefaultMaterial.h.

◆ SpecularMapScale

Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::SpecularMapScale = NoProperty
static

Definition at line 69 of file DefaultMaterial.h.

◆ SpecularPower

Cogs::Core::VariableKey Cogs::Core::DefaultMaterial::SpecularPower = NoProperty
static

Definition at line 50 of file DefaultMaterial.h.


The documentation for this struct was generated from the following files: