SwShaderUniforms class
Manages the loose-uniform caches of a program (aliased as RHI::ShaderUniforms).
Owns a SwUniformCache for every active uniform of a program that is not part of a block, distributes a shared host data buffer across them, and on CommitUniforms() publishes every dirty value to the program (the software analogue of uploading uniforms). The managed set can be restricted to an include-only or exclude list of null-separated names.
Public types
-
using UniformHashMapType = std::
vector<SwUniformCache>
Constructors, destructors, conversion operators
- SwShaderUniforms()
- SwShaderUniforms(SwShaderProgram* shaderProgram) explicit
- SwShaderUniforms(SwShaderProgram* shaderProgram, const char* includeOnly, const char* exclude)
Public functions
- void SetProgram(SwShaderProgram* shaderProgram)
- void SetProgram(SwShaderProgram* shaderProgram, const char* includeOnly, const char* exclude)
-
void SetUniformsDataPointer(std::
uint8_t* dataPointer) - void SetDirty(bool isDirty)
-
auto GetUniformCount() const -> std::
uint32_t - auto HasUniform(const char* name) const -> bool
- auto GetUniform(const char* name) -> SwUniformCache*
- auto GetAllUniforms() const -> const UniformHashMapType&
- Returns the container of all managed uniform caches (range-iterates as
SwUniformCache&). - void MarkDirty()
- void CommitUniforms()