Nameless Engine
|
#include <PipelineShaderConstantsManager.hpp>
Classes | |
struct | SpecialConstantsNames |
Public Types | |
using | variable_type = unsigned int |
Public Member Functions | |
PipelineShaderConstantsManager (const PipelineShaderConstantsManager &)=delete | |
PipelineShaderConstantsManager & | operator= (const PipelineShaderConstantsManager &)=delete |
PipelineShaderConstantsManager (size_t iVariableCount) | |
void | copyValueToShaderConstant (size_t iShaderConstantIndex, unsigned int iValueToCopy) |
unsigned int | getTotalSizeInBytes () const |
unsigned int | getVariableCount () const |
void * | getData () |
Static Public Member Functions | |
static constexpr size_t | getMaxConstantsSizeInBytes () |
Private Attributes | |
std::vector< variable_type > | vConstantsData |
Static Private Attributes | |
static constexpr size_t | iMaxShaderConstantsSizeInBytes |
Stores data to copy to push constants (Vulkan) or root constants (DirectX).
using ne::PipelineShaderConstantsManager::variable_type = unsigned int |
Type of the variables the manager stores.
|
inline |
Creates a new manager that stores the specified number of unsigned int
variables as push/root constants.
unsigned int
s) will exceed getMaxConstantsSizeInBytes.iVariableCount | Defines how much unsigned int s to store as push/root constants. |
|
inline |
Copies the specified value into the specified push/root constant.
iShaderConstantIndex | Index of the push/root constant to copy the data to. |
iValueToCopy | Value to copy. |
|
inline |
Returns pointer to the beginning of the push/root constants data.
|
inlinestaticconstexpr |
Returns the maximum size of constants data that the manager allows to have.
|
inline |
Returns total size of push/root constants data in bytes.
unsigned int
since Vulkan and DirectX operate on uint
s.
|
inline |
Returns the total number of unsigned int
s stored as push/root constants.
|
staticconstexprprivate |
Defines the maximum size of constants in total (in bytes).
|
private |
Data that will be copied to push/root constants.