|
Blender V4.5
|
#include <draw_command.hh>
Public Types | |
| enum class | Type : uint8_t { IntValue = 0 , FloatValue , IntReference , FloatReference } |
Public Member Functions | |
| PushConstant ()=default | |
| PushConstant (int loc, const float &val) | |
| PushConstant (int loc, const float2float2 &val) | |
| PushConstant (int loc, const float3float3 &val) | |
| PushConstant (int loc, const float4 &val) | |
| PushConstant (int loc, const int &val) | |
| PushConstant (int loc, const int2int2 &val) | |
| PushConstant (int loc, const int3int3 &val) | |
| PushConstant (int loc, const int4int4 &val) | |
| PushConstant (int loc, const float *val, int arr) | |
| PushConstant (int loc, const float2float2 *val, int arr) | |
| PushConstant (int loc, const float3float3 *val, int arr) | |
| PushConstant (int loc, const float4 *val, int arr) | |
| PushConstant (int loc, const float4x4 *val) | |
| PushConstant (int loc, const int *val, int arr) | |
| PushConstant (int loc, const int2int2 *val, int arr) | |
| PushConstant (int loc, const int3int3 *val, int arr) | |
| PushConstant (int loc, const int4int4 *val, int arr) | |
Commands Execution | |
| void | execute (RecordingState &state) const |
Commands Serialization for debugging | |
| std::string | serialize () const |
Public Attributes | |
| int | location |
| uint8_t | array_len |
| uint8_t | comp_len |
| enum blender::draw::command::PushConstant::Type | type |
| union { | |
| int int1_value | |
| int2int2 int2_value | |
| int3int3 int3_value | |
| int4int4 int4_value | |
| float float1_value | |
| float2float2 float2_value | |
| float3float3 float3_value | |
| float4 float4_value | |
| const int * int_ref | |
| const int2int2 * int2_ref | |
| const int3int3 * int3_ref | |
| const int4int4 * int4_ref | |
| const float * float_ref | |
| const float2float2 * float2_ref | |
| const float3float3 * float3_ref | |
| const float4 * float4_ref | |
| const float4x4 * float4x4_ref | |
| }; | |
Definition at line 234 of file draw_command.hh.
|
strong |
| Enumerator | |
|---|---|
| IntValue | |
| FloatValue | |
| IntReference | |
| FloatReference | |
Definition at line 238 of file draw_command.hh.
|
default |
|
inline |
Definition at line 272 of file draw_command.hh.
References array_len, comp_len, float1_value, location, and type.
Definition at line 274 of file draw_command.hh.
References array_len, comp_len, float2_value, location, and type.
Definition at line 276 of file draw_command.hh.
References array_len, comp_len, float3_value, location, and type.
|
inline |
Definition at line 278 of file draw_command.hh.
References array_len, comp_len, float4_value, location, and type.
|
inline |
Definition at line 281 of file draw_command.hh.
References array_len, comp_len, int1_value, location, and type.
Definition at line 283 of file draw_command.hh.
References array_len, comp_len, int2_value, location, and type.
Definition at line 285 of file draw_command.hh.
References array_len, comp_len, int3_value, location, and type.
Definition at line 287 of file draw_command.hh.
References array_len, comp_len, int4_value, location, and type.
|
inline |
|
inline |
Definition at line 292 of file draw_command.hh.
References array_len, comp_len, float2_ref, location, and type.
|
inline |
Definition at line 294 of file draw_command.hh.
References array_len, comp_len, float3_ref, location, and type.
|
inline |
Definition at line 296 of file draw_command.hh.
References array_len, comp_len, float4_ref, location, and type.
|
inline |
Definition at line 298 of file draw_command.hh.
References array_len, comp_len, float4x4_ref, location, and type.
|
inline |
| void blender::draw::command::PushConstant::execute | ( | RecordingState & | state | ) | const |
Definition at line 115 of file draw_command.cc.
References array_len, comp_len, float4_value, float_ref, FloatReference, FloatValue, GPU_shader_uniform_float_ex(), GPU_shader_uniform_int_ex(), int4_value, int_ref, IntReference, IntValue, location, state, and type.
| std::string blender::draw::command::PushConstant::serialize | ( | ) | const |
Definition at line 453 of file draw_command.cc.
References array_len, BLI_assert_unreachable, comp_len, float1_value, float2_ref, float2_value, float3_ref, float3_value, float4_ref, float4_value, float4x4_ref, float_ref, FloatReference, FloatValue, i, int1_value, int2_ref, int2_value, int3_ref, int3_value, int4_ref, int4_value, int_ref, IntReference, IntValue, location, and type.
| union { ... } blender::draw::command::PushConstant |
IMPORTANT: Data is at the end of the struct as it can span over the next commands. These next commands are not real commands but just memory to hold the data and are not referenced by any Command::Header. This is a hack to support float4x4 copy.
| uint8_t blender::draw::command::PushConstant::array_len |
Definition at line 236 of file draw_command.hh.
Referenced by execute(), blender::draw::detail::PassBase< DrawCommandBufType >::push_constant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), and serialize().
| uint8_t blender::draw::command::PushConstant::comp_len |
Definition at line 237 of file draw_command.hh.
Referenced by execute(), blender::draw::detail::PassBase< DrawCommandBufType >::push_constant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), and serialize().
| float blender::draw::command::PushConstant::float1_value |
Definition at line 255 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
Definition at line 264 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
Definition at line 256 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
Definition at line 265 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
Definition at line 257 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| const float4* blender::draw::command::PushConstant::float4_ref |
Definition at line 266 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| float4 blender::draw::command::PushConstant::float4_value |
Definition at line 258 of file draw_command.hh.
Referenced by execute(), blender::draw::detail::PassBase< DrawCommandBufType >::push_constant(), PushConstant(), and serialize().
| const float4x4* blender::draw::command::PushConstant::float4x4_ref |
Definition at line 267 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| const float* blender::draw::command::PushConstant::float_ref |
Definition at line 263 of file draw_command.hh.
Referenced by execute(), PushConstant(), and serialize().
| int blender::draw::command::PushConstant::int1_value |
Definition at line 251 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
Definition at line 260 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
Definition at line 252 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
Definition at line 261 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
Definition at line 253 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
Definition at line 262 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
Definition at line 254 of file draw_command.hh.
Referenced by execute(), PushConstant(), and serialize().
| const int* blender::draw::command::PushConstant::int_ref |
Definition at line 259 of file draw_command.hh.
Referenced by execute(), PushConstant(), and serialize().
| int blender::draw::command::PushConstant::location |
Definition at line 235 of file draw_command.hh.
Referenced by execute(), blender::draw::detail::PassBase< DrawCommandBufType >::push_constant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), and serialize().
| enum blender::draw::command::PushConstant::Type blender::draw::command::PushConstant::type |
Referenced by execute(), blender::draw::detail::PassBase< DrawCommandBufType >::push_constant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), PushConstant(), and serialize().