16#define TYPE_TRAIT_CLASS(name) \
17 class name : public MaterialData \
19#define TYPE_TRAIT(name, materialName) \
21 struct MaterialNameTrait<name> { \
22 static constexpr PipelineNames value = materialName; \
430 uint32_t normalTexIdx, uint32_t lightmapTexIdx,
431 float roughness,
float metallic,
float normScale,
432 const glm::vec3& emissive,
float shScale,
float ambientTerm,
433 uint32_t debugMode, uint32_t toneMap)
#define TYPE_TRAIT_CLASS(name)
#define TYPE_TRAIT(name, materialName)
Material data for an Object which displays a flat color.
DiffuseFlatColorMaterialData()
glm::vec3 getColor() const
DiffuseFlatColorMaterialData(const glm::vec3 &color)
glm::vec4 baseColorFactor
glm::vec4 base_color_factor() const
DiffuseShaderMaterialData(uint32_t base_color_texture_index, const glm::vec4 &base_color_factor)
uint32_t base_color_texture_index() const
uint32_t baseColorTextureIndex
Dynamic textures material with PBR and lightmap support.
DynamicTexturesMaterialData()
float ambient_term1() const
uint32_t emissiveTextureIndex
glm::vec4 baseColorFactor
uint32_t tone_mapping1() const
uint32_t normalTextureIndex
void setRoughnessMetallicTextureIndex(uint32_t index)
uint32_t roughness_metallic_texture_index() const
void setNormalTextureIndex(uint32_t index)
uint32_t baseColorTextureIndex
void setNormalScale(float scale)
glm::vec3 emissive_factor() const
float normal_scale() const
void setRoughnessFactor(float factor)
void setMetallicFactor(float factor)
float metallic_factor() const
float roughness_factor() const
uint32_t emissive_texture_index() const
uint32_t lightmap_texture_index() const
uint32_t normal_texture_index() const
uint32_t base_color_texture_index() const
void setLightmapTextureIndex(uint32_t index)
glm::vec4 base_color_factor() const
void setEmissiveTextureIndex(uint32_t index)
void setEmissiveFactor(const glm::vec3 &factor)
uint32_t debug_mode1() const
uint32_t roughnessMetallicTextureIndex
uint32_t lightmapTextureIndex
DynamicTexturesMaterialData(uint32_t base_color_texture_index, const glm::vec4 &base_color_factor, float sh_scale, float ambient_term, uint32_t debug_mode, uint32_t tone_mapping)
L0ShaderMaterialData(uint32_t base_color_texture_index, const glm::vec4 &base_color_factor, float sh_scale, float ambient_term)
float ambient_term1() const
glm::vec4 base_color_factor() const
uint32_t base_color_texture_index() const
uint32_t baseColorTextureIndex
glm::vec4 baseColorFactor
L1 Spherical Harmoics shader.
uint32_t base_color_texture_index() const
L1ShaderMaterialData(uint32_t base_color_texture_index, const glm::vec4 &base_color_factor, float sh_scale, float ambient_term)
float ambient_term1() const
uint32_t baseColorTextureIndex
glm::vec4 base_color_factor() const
glm::vec4 baseColorFactor
L2ShaderMaterialData(uint32_t base_color_texture_index, const glm::vec4 &base_color_factor, float sh_scale, float ambient_term)
uint32_t baseColorTextureIndex
float ambient_term1() const
glm::vec4 baseColorFactor
glm::vec4 base_color_factor() const
uint32_t base_color_texture_index() const
Moveable diffuse shader with PBR and lightmap support.
glm::vec3 emissive_factor() const
uint32_t emissive_texture_index() const
void setRoughnessMetallicTextureIndex(uint32_t index)
MovableDiffuseShaderMaterialData()
uint32_t normal_texture_index() const
float roughness_factor() const
MovableDiffuseShaderMaterialData(uint32_t base_color_texture_index, const glm::vec4 &base_color_factor, float sh_scale, float ambient_term, uint32_t debug_mode, uint32_t tone_mapping)
glm::vec4 base_color_factor() const
float normal_scale() const
uint32_t lightmap_texture_index() const
uint32_t roughness_metallic_texture_index() const
glm::vec4 baseColorFactor
uint32_t roughnessMetallicTextureIndex
void setRoughnessFactor(float factor)
uint32_t lightmapTextureIndex
uint32_t base_color_texture_index() const
uint32_t debug_mode1() const
void setNormalScale(float scale)
void setEmissiveTextureIndex(uint32_t index)
void setMetallicFactor(float factor)
uint32_t tone_mapping1() const
uint32_t baseColorTextureIndex
void setNormalTextureIndex(uint32_t index)
uint32_t emissiveTextureIndex
float ambient_term1() const
void setEmissiveFactor(const glm::vec3 &factor)
void setLightmapTextureIndex(uint32_t index)
float metallic_factor() const
uint32_t normalTextureIndex
Material data for an object which displays its normals.
NormalMaterialData(bool debug)
bool getDebug() const
Gets whether the normals shader is launched in debug mode.
Static lightmap material with PBR support.
uint32_t lightmapTextureIndex
void setNormalScale(float scale)
uint32_t normalTextureIndex
glm::vec4 base_color_factor() const
uint32_t base_color_texture_index() const
void setLightmapTextureIndex(uint32_t index)
float roughness_factor() const
glm::vec4 baseColorFactor
StaticLightmapMaterialData()
float ambient_term1() const
uint32_t normal_texture_index() const
StaticLightmapMaterialData(uint32_t baseColorTexIdx, const glm::vec4 &baseColorFac, uint32_t normalTexIdx, uint32_t lightmapTexIdx, float roughness, float metallic, float normScale, const glm::vec3 &emissive, float shScale, float ambientTerm, uint32_t debugMode, uint32_t toneMap)
float normal_scale() const
uint32_t tone_mapping1() const
void setRoughnessFactor(float factor)
uint32_t lightmap_texture_index() const
void setBaseColorTextureIndex(uint32_t index)
glm::vec3 emissive_factor() const
float metallic_factor() const
void setEmissiveFactor(const glm::vec3 &factor)
void setMetallicFactor(float factor)
void setNormalTextureIndex(uint32_t index)
uint32_t baseColorTextureIndex
uint32_t debug_mode1() const
Log category system implementation.
Converters from other number / vector systems into glm.