Vulkan Schnee 0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
EngineCore::DynamicTexturesMaterialData Class Reference

Dynamic textures material with PBR and lightmap support. More...

#include <MaterialData.h>

Inheritance diagram for EngineCore::DynamicTexturesMaterialData:
Collaboration diagram for EngineCore::DynamicTexturesMaterialData:

Public Member Functions

 DynamicTexturesMaterialData ()
 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)
uint32_t base_color_texture_index () const
glm::vec4 base_color_factor () const
float sh_scale1 () const
float ambient_term1 () const
uint32_t debug_mode1 () const
uint32_t tone_mapping1 () const
uint32_t normal_texture_index () const
uint32_t roughness_metallic_texture_index () const
uint32_t emissive_texture_index () const
uint32_t lightmap_texture_index () const
float roughness_factor () const
float metallic_factor () const
float normal_scale () const
glm::vec3 emissive_factor () const
void setNormalTextureIndex (uint32_t index)
void setRoughnessMetallicTextureIndex (uint32_t index)
void setEmissiveTextureIndex (uint32_t index)
void setLightmapTextureIndex (uint32_t index)
void setRoughnessFactor (float factor)
void setMetallicFactor (float factor)
void setNormalScale (float scale)
void setEmissiveFactor (const glm::vec3 &factor)

Private Attributes

uint32_t baseColorTextureIndex
glm::vec4 baseColorFactor
float sh_scale
float ambient_term
uint32_t debug_mode
uint32_t tone_mapping
uint32_t normalTextureIndex
uint32_t roughnessMetallicTextureIndex
uint32_t emissiveTextureIndex
uint32_t lightmapTextureIndex
float roughnessFactor
float metallicFactor
float normalScale
glm::vec3 emissiveFactor

Detailed Description

Dynamic textures material with PBR and lightmap support.

Extended with PBR texture indices and material factors for physically-based rendering. Texture indices use 0xFFFFFFFF to indicate "not present".

Date
2025-10-06 (original), 2026-01-21 (PBR + lightmap extension)
Author
Konstantin Passig

Definition at line 311 of file MaterialData.h.

Constructor & Destructor Documentation

◆ DynamicTexturesMaterialData() [1/2]

◆ DynamicTexturesMaterialData() [2/2]

EngineCore::DynamicTexturesMaterialData::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 )
inline

Definition at line 333 of file MaterialData.h.

References ambient_term, base_color_factor(), base_color_texture_index(), baseColorFactor, baseColorTextureIndex, debug_mode, emissiveFactor, emissiveTextureIndex, lightmapTextureIndex, metallicFactor, normalScale, normalTextureIndex, roughnessFactor, roughnessMetallicTextureIndex, sh_scale, and tone_mapping.

Here is the call graph for this function:

Member Function Documentation

◆ ambient_term1()

float EngineCore::DynamicTexturesMaterialData::ambient_term1 ( ) const
inlinenodiscard

Definition at line 355 of file MaterialData.h.

References ambient_term.

◆ base_color_factor()

glm::vec4 EngineCore::DynamicTexturesMaterialData::base_color_factor ( ) const
inlinenodiscard

Definition at line 353 of file MaterialData.h.

References baseColorFactor.

Referenced by DynamicTexturesMaterialData().

Here is the caller graph for this function:

◆ base_color_texture_index()

uint32_t EngineCore::DynamicTexturesMaterialData::base_color_texture_index ( ) const
inlinenodiscard

Definition at line 352 of file MaterialData.h.

References baseColorTextureIndex.

Referenced by DynamicTexturesMaterialData().

Here is the caller graph for this function:

◆ debug_mode1()

uint32_t EngineCore::DynamicTexturesMaterialData::debug_mode1 ( ) const
inlinenodiscard

Definition at line 356 of file MaterialData.h.

References debug_mode.

◆ emissive_factor()

glm::vec3 EngineCore::DynamicTexturesMaterialData::emissive_factor ( ) const
inlinenodiscard

Definition at line 367 of file MaterialData.h.

References emissiveFactor.

◆ emissive_texture_index()

uint32_t EngineCore::DynamicTexturesMaterialData::emissive_texture_index ( ) const
inlinenodiscard

Definition at line 362 of file MaterialData.h.

References emissiveTextureIndex.

◆ lightmap_texture_index()

uint32_t EngineCore::DynamicTexturesMaterialData::lightmap_texture_index ( ) const
inlinenodiscard

Definition at line 363 of file MaterialData.h.

References lightmapTextureIndex.

◆ metallic_factor()

float EngineCore::DynamicTexturesMaterialData::metallic_factor ( ) const
inlinenodiscard

Definition at line 365 of file MaterialData.h.

References metallicFactor.

◆ normal_scale()

float EngineCore::DynamicTexturesMaterialData::normal_scale ( ) const
inlinenodiscard

Definition at line 366 of file MaterialData.h.

References normalScale.

◆ normal_texture_index()

uint32_t EngineCore::DynamicTexturesMaterialData::normal_texture_index ( ) const
inlinenodiscard

Definition at line 360 of file MaterialData.h.

References normalTextureIndex.

◆ roughness_factor()

float EngineCore::DynamicTexturesMaterialData::roughness_factor ( ) const
inlinenodiscard

Definition at line 364 of file MaterialData.h.

References roughnessFactor.

◆ roughness_metallic_texture_index()

uint32_t EngineCore::DynamicTexturesMaterialData::roughness_metallic_texture_index ( ) const
inlinenodiscard

Definition at line 361 of file MaterialData.h.

References roughnessMetallicTextureIndex.

◆ setEmissiveFactor()

void EngineCore::DynamicTexturesMaterialData::setEmissiveFactor ( const glm::vec3 & factor)
inline

Definition at line 377 of file MaterialData.h.

References emissiveFactor.

◆ setEmissiveTextureIndex()

void EngineCore::DynamicTexturesMaterialData::setEmissiveTextureIndex ( uint32_t index)
inline

Definition at line 372 of file MaterialData.h.

References emissiveTextureIndex.

◆ setLightmapTextureIndex()

void EngineCore::DynamicTexturesMaterialData::setLightmapTextureIndex ( uint32_t index)
inline

Definition at line 373 of file MaterialData.h.

References lightmapTextureIndex.

◆ setMetallicFactor()

void EngineCore::DynamicTexturesMaterialData::setMetallicFactor ( float factor)
inline

Definition at line 375 of file MaterialData.h.

References metallicFactor.

◆ setNormalScale()

void EngineCore::DynamicTexturesMaterialData::setNormalScale ( float scale)
inline

Definition at line 376 of file MaterialData.h.

References normalScale.

◆ setNormalTextureIndex()

void EngineCore::DynamicTexturesMaterialData::setNormalTextureIndex ( uint32_t index)
inline

Definition at line 370 of file MaterialData.h.

References normalTextureIndex.

◆ setRoughnessFactor()

void EngineCore::DynamicTexturesMaterialData::setRoughnessFactor ( float factor)
inline

Definition at line 374 of file MaterialData.h.

References roughnessFactor.

◆ setRoughnessMetallicTextureIndex()

void EngineCore::DynamicTexturesMaterialData::setRoughnessMetallicTextureIndex ( uint32_t index)
inline

Definition at line 371 of file MaterialData.h.

References roughnessMetallicTextureIndex.

◆ sh_scale1()

float EngineCore::DynamicTexturesMaterialData::sh_scale1 ( ) const
inlinenodiscard

Definition at line 354 of file MaterialData.h.

References sh_scale.

◆ tone_mapping1()

uint32_t EngineCore::DynamicTexturesMaterialData::tone_mapping1 ( ) const
inlinenodiscard

Definition at line 357 of file MaterialData.h.

References tone_mapping.

Member Data Documentation

◆ ambient_term

float EngineCore::DynamicTexturesMaterialData::ambient_term
private

◆ baseColorFactor

glm::vec4 EngineCore::DynamicTexturesMaterialData::baseColorFactor
private

◆ baseColorTextureIndex

uint32_t EngineCore::DynamicTexturesMaterialData::baseColorTextureIndex
private

◆ debug_mode

uint32_t EngineCore::DynamicTexturesMaterialData::debug_mode
private

◆ emissiveFactor

glm::vec3 EngineCore::DynamicTexturesMaterialData::emissiveFactor
private

◆ emissiveTextureIndex

uint32_t EngineCore::DynamicTexturesMaterialData::emissiveTextureIndex
private

◆ lightmapTextureIndex

uint32_t EngineCore::DynamicTexturesMaterialData::lightmapTextureIndex
private

◆ metallicFactor

float EngineCore::DynamicTexturesMaterialData::metallicFactor
private

◆ normalScale

float EngineCore::DynamicTexturesMaterialData::normalScale
private

◆ normalTextureIndex

uint32_t EngineCore::DynamicTexturesMaterialData::normalTextureIndex
private

◆ roughnessFactor

float EngineCore::DynamicTexturesMaterialData::roughnessFactor
private

◆ roughnessMetallicTextureIndex

uint32_t EngineCore::DynamicTexturesMaterialData::roughnessMetallicTextureIndex
private

◆ sh_scale

float EngineCore::DynamicTexturesMaterialData::sh_scale
private

◆ tone_mapping

uint32_t EngineCore::DynamicTexturesMaterialData::tone_mapping
private

The documentation for this class was generated from the following file:
  • /home/magerbeton/Documents/gl3-vulkan/Engine/include/Engine/Material/MaterialData.h