UniformValueBag.ixx File
Scope-local, typed storage for shader uniform values. More...
Included Headers
#include <array>
#include <bitset>
#include <cassert>
#include <utility>
#include <variant>
#include <helios.engine.rendering.shader.types.uniforms>
#include <helios.engine.rendering.shader.types.UniformSemantics>
#include <helios.math.types>
Namespaces Index
| namespace | helios |
| namespace | engine |
| namespace | rendering |
| namespace | shader |
Classes Index
| class | UniformValueBag<TUniformScope> |
|
Typed uniform container keyed by compile-time uniform tags. More... | |
Description
Scope-local, typed storage for shader uniform values.
File Listing
The file content with the documentation metadata removed is:
21using namespace helios::engine::rendering::shader::types;
22export namespace helios::engine::rendering::shader {
29 class UniformValueBag {
45 public :
50 UniformValueBag() {
51 clearValues();
58 void clearValues() {
68 deltaTime = 0.0f;
69 totalTime = 0.0f;
87 [[nodiscard]] bool has(const UniformSemantics semantics) const noexcept {
107 assert(false && "Unsupported uniform type in UniformValueBag::value");
129 assert(false && "Unsupported uniform type in UniformValueBag::value");
140 [[nodiscard]] const helios::math::mat4f* mat4f(const UniformSemantics semantics) const noexcept {
141 if (!has(semantics)) {
153 assert(false && "Unsupported uniform type in UniformValueBag::value");
162 [[nodiscard]] const helios::math::vec4f* vec4f(const UniformSemantics semantics) const noexcept {
163 if (!has(semantics)) {
173 assert(false && "Unsupported uniform type in UniformValueBag::value");
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.