Vulkan Schnee 0.0.1 (22840dc8)
High-performance rendering engine
Loading...
Searching...
No Matches
Engine::Rendering::GpuBuffers::PbrMaterial Struct Reference

GPU-side PBR material with spherical harmonics. More...

#include <RenderData.h>

Public Attributes

uint32_t baseColorTextureIndex
 0xFFFFFFFF = not present
uint32_t normalTextureIndex
 0xFFFFFFFF = not present
uint32_t roughnessMetallicTextureIndex
 0xFFFFFFFF = not present
uint32_t emissiveTextureIndex
 0xFFFFFFFF = not present
glm::vec4 baseColorFactor
 Linear RGBA base color multiplier.
glm::vec3 emissiveFactor
 Linear RGB emissive multiplier.
float roughnessFactor
 Scalar roughness value when no roughness-metallic texture is present.
float metallicFactor
 Scalar metallic value when no roughness-metallic texture is present.
float normalScale
 Scale applied to sampled tangent-space normal maps.
float sh_scale
 Multiplier applied to spherical harmonics lighting.
float ambient_term
 Ambient lighting term mixed with spherical harmonics lighting.
uint32_t debug_mode
 Debug view mode consumed by material shaders.
uint32_t tone_mapping
 Tone-mapping mode consumed by material shaders.
uint32_t lightmapTextureIndex
 0xFFFFFFFF = not present
uint32_t hasLightmap
 1 when lightmapTextureIndex references a valid lightmap, otherwise 0.
float alphaCutoff
 Threshold for MASK mode.
float exposure
 Exposure value applied by material shaders that perform tone mapping.
uint32_t normalMapBC5
 1 when the normal map is BC5/RG and reconstructs Z, 0 when stored as RGB.
uint32_t _padding [1]
 Padding required by the shader layout.

Detailed Description

GPU-side PBR material with spherical harmonics.

Layout matches GLSL std430 and is 96 bytes. Texture index fields use 0xFFFFFFFF when the texture is not present.

Definition at line 377 of file RenderData.h.

Member Data Documentation

◆ _padding

uint32_t Engine::Rendering::GpuBuffers::PbrMaterial::_padding[1]

Padding required by the shader layout.

Definition at line 402 of file RenderData.h.

◆ alphaCutoff

float Engine::Rendering::GpuBuffers::PbrMaterial::alphaCutoff

Threshold for MASK mode.

Definition at line 399 of file RenderData.h.

◆ ambient_term

float Engine::Rendering::GpuBuffers::PbrMaterial::ambient_term

Ambient lighting term mixed with spherical harmonics lighting.

Definition at line 392 of file RenderData.h.

◆ baseColorFactor

glm::vec4 Engine::Rendering::GpuBuffers::PbrMaterial::baseColorFactor

Linear RGBA base color multiplier.

Definition at line 384 of file RenderData.h.

◆ baseColorTextureIndex

uint32_t Engine::Rendering::GpuBuffers::PbrMaterial::baseColorTextureIndex

0xFFFFFFFF = not present

Definition at line 379 of file RenderData.h.

◆ debug_mode

uint32_t Engine::Rendering::GpuBuffers::PbrMaterial::debug_mode

Debug view mode consumed by material shaders.

Definition at line 394 of file RenderData.h.

◆ emissiveFactor

glm::vec3 Engine::Rendering::GpuBuffers::PbrMaterial::emissiveFactor

Linear RGB emissive multiplier.

Definition at line 386 of file RenderData.h.

◆ emissiveTextureIndex

uint32_t Engine::Rendering::GpuBuffers::PbrMaterial::emissiveTextureIndex

0xFFFFFFFF = not present

Definition at line 382 of file RenderData.h.

◆ exposure

float Engine::Rendering::GpuBuffers::PbrMaterial::exposure

Exposure value applied by material shaders that perform tone mapping.

Definition at line 400 of file RenderData.h.

◆ hasLightmap

uint32_t Engine::Rendering::GpuBuffers::PbrMaterial::hasLightmap

1 when lightmapTextureIndex references a valid lightmap, otherwise 0.

Definition at line 397 of file RenderData.h.

◆ lightmapTextureIndex

uint32_t Engine::Rendering::GpuBuffers::PbrMaterial::lightmapTextureIndex

0xFFFFFFFF = not present

Definition at line 396 of file RenderData.h.

◆ metallicFactor

float Engine::Rendering::GpuBuffers::PbrMaterial::metallicFactor

Scalar metallic value when no roughness-metallic texture is present.

Definition at line 389 of file RenderData.h.

◆ normalMapBC5

uint32_t Engine::Rendering::GpuBuffers::PbrMaterial::normalMapBC5

1 when the normal map is BC5/RG and reconstructs Z, 0 when stored as RGB.

Definition at line 401 of file RenderData.h.

◆ normalScale

float Engine::Rendering::GpuBuffers::PbrMaterial::normalScale

Scale applied to sampled tangent-space normal maps.

Definition at line 390 of file RenderData.h.

◆ normalTextureIndex

uint32_t Engine::Rendering::GpuBuffers::PbrMaterial::normalTextureIndex

0xFFFFFFFF = not present

Definition at line 380 of file RenderData.h.

◆ roughnessFactor

float Engine::Rendering::GpuBuffers::PbrMaterial::roughnessFactor

Scalar roughness value when no roughness-metallic texture is present.

Definition at line 387 of file RenderData.h.

◆ roughnessMetallicTextureIndex

uint32_t Engine::Rendering::GpuBuffers::PbrMaterial::roughnessMetallicTextureIndex

0xFFFFFFFF = not present

Definition at line 381 of file RenderData.h.

◆ sh_scale

float Engine::Rendering::GpuBuffers::PbrMaterial::sh_scale

Multiplier applied to spherical harmonics lighting.

Definition at line 391 of file RenderData.h.

◆ tone_mapping

uint32_t Engine::Rendering::GpuBuffers::PbrMaterial::tone_mapping

Tone-mapping mode consumed by material shaders.

Definition at line 395 of file RenderData.h.


The documentation for this struct was generated from the following file:
  • /workspace/magerbeton/gl3-vulkan/code/Engine/include/Engine/Renderer/RenderData.h