#include <vertex_shader_program.h>
|
void | Activate () |
|
void | PrepareDraw () |
|
void | SetShaderOverride (const uint32_t *shader, uint32_t shader_size) |
|
void | SetUniform4x4F (uint32_t slot, const XboxMath::matrix4_t &value) |
|
void | SetUniform4F (uint32_t slot, const float *value) |
|
void | SetUniform4I (uint32_t slot, const uint32_t *value) |
|
void | SetUniformF (uint32_t slot, float x, float y=0.0f, float z=0.0f, float w=0.0f) |
|
void | SetUniformI (uint32_t slot, uint32_t x, uint32_t y=0, uint32_t z=0, uint32_t w=0) |
|
|
static constexpr auto | kShaderUserConstantOffset = 96 |
|
|
virtual void | OnActivate () |
|
virtual void | OnLoadShader () |
|
virtual void | OnLoadConstants () |
|
void | LoadShaderProgram (const uint32_t *shader, uint32_t shader_size) const |
|
void | SetTransformConstantBlock (std::map< uint32_t, TransformConstant > &constants_map, uint32_t slot, const uint32_t *values, uint32_t num_slots) |
|
void | SetBaseUniform4x4F (uint32_t slot, const XboxMath::matrix4_t &value) |
|
void | SetBaseUniform4F (uint32_t slot, const float *value) |
|
void | SetBaseUniform4I (uint32_t slot, const uint32_t *value) |
|
void | SetBaseUniformF (uint32_t slot, float x, float y=0.0f, float z=0.0f, float w=0.0f) |
|
void | SetBaseUniformI (uint32_t slot, uint32_t x, uint32_t y=0, uint32_t z=0, uint32_t w=0) |
|
void | UploadConstants () |
|
|
const uint32_t * | shader_override_ {nullptr} |
|
uint32_t | shader_override_size_ {0} |
|
std::map< uint32_t, TransformConstant > | base_transform_constants_ |
| Map of index to constants that will be loaded starting at c[96].
|
|
std::map< uint32_t, TransformConstant > | uniforms_ |
|
bool | uniform_upload_required_ {true} |
|
Provides methods to manage and upload a vertex shader.
◆ shader_override_
const uint32_t* VertexShaderProgram::shader_override_ {nullptr} |
|
protected |
Compiled vertex shader code that should be used instead of using OnLoadShader. Note that this data is not owned by this VertexShaderProgram.
◆ uniforms_
Map of index to constants that will overwrite/extend the base values. This allows a VertexShaderProgram subclass to populate values that are overwritten by users of the class.
The documentation for this class was generated from the following files: