Skip to main content

UniformSemantics.ixx File

Definitions of uniform semantics used by shaders. More...

Namespaces Index

namespacehelios
namespacerendering

Graphics rendering infrastructure. More...

namespaceshader

Shader program management. More...

Description

Definitions of uniform semantics used by shaders.

File Listing

The file content with the documentation metadata removed is:

1/**
2 * @file UniformSemantics.ixx
3 * @brief Definitions of uniform semantics used by shaders.
4 */
5module;
6
7export module helios.rendering.shader.UniformSemantics;
8
9
10export namespace helios::rendering::shader {
11
12 /**
13 * @brief Enumeration of semantic identifiers for shader uniform variables.
14 *
15 * `UniformSemantics` provides strongly-typed identifiers for standard uniform
16 * variables passed to shaders. These semantics abstract the actual uniform names,
17 * allowing the rendering pipeline to work with meaningful identifiers.
18 *
19 * ## Categories
20 *
21 * - **Transform Matrices:** `ModelMatrix`, `ViewMatrix`, `ProjectionMatrix`
22 * - **Material Properties:** `MaterialBaseColor`, `MaterialRoughness`
23 * - **Text Rendering:** `TextTexture`, `TextColor`
24 * - **Time Values:** `deltaTime`, `totalTime`
25 *
26 * ## Usage
27 *
28 * ```cpp
29 * UniformValueMap uniforms;
30 * uniforms.set(UniformSemantics::ModelMatrix, modelMat);
31 * uniforms.set(UniformSemantics::MaterialBaseColor, vec4f{1.0f, 0.0f, 0.0f, 1.0f});
32 * ```
33 *
34 * @see UniformValueMap
35 */
36 enum class UniformSemantics {
37
38 /**
39 * @brief Represents the object-to-world transformation matrix of an object.
40 */
42
43 /**
44 * @brief Represents the projection matrix.
45 */
47
48 /**
49 * @brief Represents the (camera) view space, transforming world space to view space.
50 */
52
53 /**
54 * @brief Represents the (material's) base color.
55 */
57
58 /**
59 * @brief Represents the (material's) roughness factor.
60 */
62
63 /**
64 * @brief Represents the texture sampler for text glyph rendering.
65 */
67
68 /**
69 * @brief Represents the text color for glyph rendering.
70 */
72
73 /**
74 * @brief Represents the time elapsed since the last frame.
75 */
77
78 /**
79 * @brief Represents the total time elapsed since measuring frame times.
80 */
82
83 /**
84 * @brief Number of entries in this enum.
85 */
87 };
88
89
90}

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.