|
Blender V5.0
|
#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 float2 &val) | |
| PushConstant (int loc, const float3 &val) | |
| PushConstant (int loc, const float4 &val) | |
| PushConstant (int loc, const int &val) | |
| PushConstant (int loc, const int2 &val) | |
| PushConstant (int loc, const int3 &val) | |
| PushConstant (int loc, const int4 &val) | |
| PushConstant (int loc, const float *val, int arr) | |
| PushConstant (int loc, const float2 *val, int arr) | |
| PushConstant (int loc, const float3 *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 int2 *val, int arr) | |
| PushConstant (int loc, const int3 *val, int arr) | |
| PushConstant (int loc, const int4 *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 | |
| int2 int2_value | |
| int3 int3_value | |
| int4 int4_value | |
| float float1_value | |
| float2 float2_value | |
| float3 float3_value | |
| float4 float4_value | |
| const int * int_ref | |
| const int2 * int2_ref | |
| const int3 * int3_ref | |
| const int4 * int4_ref | |
| const float * float_ref | |
| const float2 * float2_ref | |
| const float3 * float3_ref | |
| const float4 * float4_ref | |
| const float4x4 * float4x4_ref | |
| }; | |
Definition at line 232 of file draw_command.hh.
|
strong |
| Enumerator | |
|---|---|
| IntValue | |
| FloatValue | |
| IntReference | |
| FloatReference | |
Definition at line 236 of file draw_command.hh.
|
default |
|
inline |
Definition at line 270 of file draw_command.hh.
References array_len, comp_len, float1_value, location, and type.
|
inline |
Definition at line 272 of file draw_command.hh.
References array_len, comp_len, float2_value, location, and type.
|
inline |
Definition at line 274 of file draw_command.hh.
References array_len, comp_len, float3_value, location, and type.
|
inline |
Definition at line 276 of file draw_command.hh.
References array_len, comp_len, float4_value, location, and type.
|
inline |
Definition at line 279 of file draw_command.hh.
References array_len, comp_len, int1_value, location, and type.
|
inline |
Definition at line 281 of file draw_command.hh.
References array_len, comp_len, int2_value, location, and type.
|
inline |
Definition at line 283 of file draw_command.hh.
References array_len, comp_len, int3_value, location, and type.
|
inline |
Definition at line 285 of file draw_command.hh.
References array_len, comp_len, int4_value, location, and type.
|
inline |
|
inline |
Definition at line 290 of file draw_command.hh.
References array_len, comp_len, float2_ref, location, and type.
|
inline |
Definition at line 292 of file draw_command.hh.
References array_len, comp_len, float3_ref, location, and type.
|
inline |
Definition at line 294 of file draw_command.hh.
References array_len, comp_len, float4_ref, location, and type.
|
inline |
Definition at line 296 of file draw_command.hh.
References array_len, comp_len, float4x4_ref, location, and type.
|
inline |
|
inline |
|
inline |
|
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 445 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 234 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 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().
| float blender::draw::command::PushConstant::float1_value |
Definition at line 253 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| const float2* blender::draw::command::PushConstant::float2_ref |
Definition at line 262 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| float2 blender::draw::command::PushConstant::float2_value |
Definition at line 254 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| const float3* blender::draw::command::PushConstant::float3_ref |
Definition at line 263 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| float3 blender::draw::command::PushConstant::float3_value |
Definition at line 255 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| const float4* blender::draw::command::PushConstant::float4_ref |
Definition at line 264 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| float4 blender::draw::command::PushConstant::float4_value |
Definition at line 256 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 265 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| const float* blender::draw::command::PushConstant::float_ref |
Definition at line 261 of file draw_command.hh.
Referenced by execute(), PushConstant(), and serialize().
| int blender::draw::command::PushConstant::int1_value |
Definition at line 249 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| const int2* blender::draw::command::PushConstant::int2_ref |
Definition at line 258 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| int2 blender::draw::command::PushConstant::int2_value |
Definition at line 250 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| const int3* blender::draw::command::PushConstant::int3_ref |
Definition at line 259 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| int3 blender::draw::command::PushConstant::int3_value |
Definition at line 251 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| const int4* blender::draw::command::PushConstant::int4_ref |
Definition at line 260 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| int4 blender::draw::command::PushConstant::int4_value |
Definition at line 252 of file draw_command.hh.
Referenced by execute(), PushConstant(), and serialize().
| const int* blender::draw::command::PushConstant::int_ref |
Definition at line 257 of file draw_command.hh.
Referenced by execute(), PushConstant(), and serialize().
| int blender::draw::command::PushConstant::location |
Definition at line 233 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().