Monopoly — Portage moderne
0.1.0
Portage moderne C/C++23 du Monopoly de 1999
Loading...
Searching...
No Matches
ModernPBRShaderUniforms.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <array>
4
#include <cstddef>
5
6
namespace
monopoly::engine
7
{
8
struct
alignas
(16)
ModernPBRVertexUniforms
9
{
10
std::array<float, 16>
worldViewProjection
{};
11
std::array<float, 16>
world
{};
12
};
13
14
struct
alignas
(16)
ModernPBRFragmentUniforms
15
{
16
std::array<float, 4>
baseColor
{};
17
// x: metallic, y: roughness, z: target already encodes sRGB, w: alpha mask.
18
std::array<float, 4>
metallicRoughness
{};
19
std::array<float, 4>
emissiveStrength
{};
20
std::array<float, 4>
cameraPosition
{};
21
// rgb: ambient/environment intensity; w: specular cubemap enabled (0/1).
22
std::array<float, 4>
sceneAmbient
{};
23
std::array<float, 4>
boardReflectionColorEnabled
{};
24
std::array<float, 4>
boardReflectionDirection
{};
25
std::array<float, 4>
sunColorEnabled
{};
26
std::array<float, 4>
sunDirection
{};
27
std::array<float, 4>
spotlightColorEnabled
{};
28
std::array<float, 4>
spotlightPositionRange
{};
29
std::array<float, 4>
spotlightDirectionFalloff
{};
30
std::array<float, 4>
spotlightAttenuationTheta
{};
31
std::array<float, 4>
spotlightPhi
{};
32
// Enabled base-color, metallic-roughness, normal and emissive maps.
33
std::array<float, 4>
mapFlags
{};
34
// x: occlusion enabled, y: normal scale, z: occlusion strength, w: alpha cutoff.
35
std::array<float, 4>
mapParameters
{};
36
std::array<float, 16>
shadowViewProjection
{};
37
// x: shadow receiver enabled (negative for depth pass), y: texel size,
38
// z: depth comparison bias, w: optional presentation tone mapping.
39
std::array<float, 4>
shadowParameters
{};
40
};
41
static_assert
(
sizeof
(ModernPBRVertexUniforms) == 128U);
42
static_assert
(
sizeof
(ModernPBRFragmentUniforms) == 336U);
43
static_assert
(
offsetof
(ModernPBRFragmentUniforms, spotlightPhi) == 208U);
44
}
index
unsigned index
Definition
ModernIBarSkin.cpp:25
monopoly::engine
Definition
Engine.cpp:135
monopoly::engine::ModernPBRFragmentUniforms
Definition
ModernPBRShaderUniforms.hpp:15
monopoly::engine::ModernPBRFragmentUniforms::sunColorEnabled
std::array< float, 4 > sunColorEnabled
Definition
ModernPBRShaderUniforms.hpp:25
monopoly::engine::ModernPBRFragmentUniforms::spotlightDirectionFalloff
std::array< float, 4 > spotlightDirectionFalloff
Definition
ModernPBRShaderUniforms.hpp:29
monopoly::engine::ModernPBRFragmentUniforms::shadowParameters
std::array< float, 4 > shadowParameters
Definition
ModernPBRShaderUniforms.hpp:39
monopoly::engine::ModernPBRFragmentUniforms::mapParameters
std::array< float, 4 > mapParameters
Definition
ModernPBRShaderUniforms.hpp:35
monopoly::engine::ModernPBRFragmentUniforms::sceneAmbient
std::array< float, 4 > sceneAmbient
Definition
ModernPBRShaderUniforms.hpp:22
monopoly::engine::ModernPBRFragmentUniforms::spotlightAttenuationTheta
std::array< float, 4 > spotlightAttenuationTheta
Definition
ModernPBRShaderUniforms.hpp:30
monopoly::engine::ModernPBRFragmentUniforms::spotlightColorEnabled
std::array< float, 4 > spotlightColorEnabled
Definition
ModernPBRShaderUniforms.hpp:27
monopoly::engine::ModernPBRFragmentUniforms::shadowViewProjection
std::array< float, 16 > shadowViewProjection
Definition
ModernPBRShaderUniforms.hpp:36
monopoly::engine::ModernPBRFragmentUniforms::sunDirection
std::array< float, 4 > sunDirection
Definition
ModernPBRShaderUniforms.hpp:26
monopoly::engine::ModernPBRFragmentUniforms::spotlightPhi
std::array< float, 4 > spotlightPhi
Definition
ModernPBRShaderUniforms.hpp:31
monopoly::engine::ModernPBRFragmentUniforms::spotlightPositionRange
std::array< float, 4 > spotlightPositionRange
Definition
ModernPBRShaderUniforms.hpp:28
monopoly::engine::ModernPBRFragmentUniforms::metallicRoughness
std::array< float, 4 > metallicRoughness
Definition
ModernPBRShaderUniforms.hpp:18
monopoly::engine::ModernPBRFragmentUniforms::cameraPosition
std::array< float, 4 > cameraPosition
Definition
ModernPBRShaderUniforms.hpp:20
monopoly::engine::ModernPBRFragmentUniforms::boardReflectionColorEnabled
std::array< float, 4 > boardReflectionColorEnabled
Definition
ModernPBRShaderUniforms.hpp:23
monopoly::engine::ModernPBRFragmentUniforms::baseColor
std::array< float, 4 > baseColor
Definition
ModernPBRShaderUniforms.hpp:16
monopoly::engine::ModernPBRFragmentUniforms::boardReflectionDirection
std::array< float, 4 > boardReflectionDirection
Definition
ModernPBRShaderUniforms.hpp:24
monopoly::engine::ModernPBRFragmentUniforms::mapFlags
std::array< float, 4 > mapFlags
Definition
ModernPBRShaderUniforms.hpp:33
monopoly::engine::ModernPBRFragmentUniforms::emissiveStrength
std::array< float, 4 > emissiveStrength
Definition
ModernPBRShaderUniforms.hpp:19
monopoly::engine::ModernPBRVertexUniforms
Definition
ModernPBRShaderUniforms.hpp:9
monopoly::engine::ModernPBRVertexUniforms::worldViewProjection
std::array< float, 16 > worldViewProjection
Definition
ModernPBRShaderUniforms.hpp:10
monopoly::engine::ModernPBRVertexUniforms::world
std::array< float, 16 > world
Definition
ModernPBRShaderUniforms.hpp:11
ModernPBRShaderUniforms.hpp
Generated by
1.9.8