|
Blender V4.3
|
#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 220 of file draw_command.hh.
|
strong |
| Enumerator | |
|---|---|
| IntValue | |
| FloatValue | |
| IntReference | |
| FloatReference | |
Definition at line 224 of file draw_command.hh.
|
default |
Definition at line 258 of file draw_command.hh.
References array_len, comp_len, float1_value, FloatValue, location, and type.
Definition at line 260 of file draw_command.hh.
References array_len, comp_len, float2_value, FloatValue, location, and type.
Definition at line 262 of file draw_command.hh.
References array_len, comp_len, float3_value, FloatValue, location, and type.
Definition at line 264 of file draw_command.hh.
References array_len, comp_len, float4_value, FloatValue, location, and type.
Definition at line 267 of file draw_command.hh.
References array_len, comp_len, int1_value, IntValue, location, and type.
Definition at line 269 of file draw_command.hh.
References array_len, comp_len, int2_value, IntValue, location, and type.
Definition at line 271 of file draw_command.hh.
References array_len, comp_len, int3_value, IntValue, location, and type.
Definition at line 273 of file draw_command.hh.
References array_len, comp_len, int4_value, IntValue, location, and type.
Definition at line 276 of file draw_command.hh.
References array_len, comp_len, float_ref, FloatReference, location, and type.
Definition at line 278 of file draw_command.hh.
References array_len, comp_len, float2_ref, FloatReference, location, and type.
Definition at line 280 of file draw_command.hh.
References array_len, comp_len, float3_ref, FloatReference, location, and type.
Definition at line 282 of file draw_command.hh.
References array_len, comp_len, float4_ref, FloatReference, location, and type.
Definition at line 284 of file draw_command.hh.
References array_len, comp_len, float4x4_ref, FloatReference, location, and type.
Definition at line 287 of file draw_command.hh.
References array_len, comp_len, int_ref, IntReference, location, and type.
Definition at line 289 of file draw_command.hh.
References array_len, comp_len, int2_ref, IntReference, location, and type.
Definition at line 291 of file draw_command.hh.
References array_len, comp_len, int3_ref, IntReference, location, and type.
Definition at line 293 of file draw_command.hh.
References array_len, comp_len, int4_ref, IntReference, location, and type.
| void blender::draw::command::PushConstant::execute | ( | RecordingState & | state | ) | const |
Definition at line 111 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 415 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, 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 222 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 223 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 241 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| const float2* blender::draw::command::PushConstant::float2_ref |
Definition at line 250 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| float2 blender::draw::command::PushConstant::float2_value |
Definition at line 242 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| const float3* blender::draw::command::PushConstant::float3_ref |
Definition at line 251 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| float3 blender::draw::command::PushConstant::float3_value |
Definition at line 243 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| const float4* blender::draw::command::PushConstant::float4_ref |
Definition at line 252 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| float4 blender::draw::command::PushConstant::float4_value |
Definition at line 244 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 253 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| const float* blender::draw::command::PushConstant::float_ref |
Definition at line 249 of file draw_command.hh.
Referenced by execute(), PushConstant(), and serialize().
| int blender::draw::command::PushConstant::int1_value |
Definition at line 237 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| const int2* blender::draw::command::PushConstant::int2_ref |
Definition at line 246 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| int2 blender::draw::command::PushConstant::int2_value |
Definition at line 238 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| const int3* blender::draw::command::PushConstant::int3_ref |
Definition at line 247 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| int3 blender::draw::command::PushConstant::int3_value |
Definition at line 239 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| const int4* blender::draw::command::PushConstant::int4_ref |
Definition at line 248 of file draw_command.hh.
Referenced by PushConstant(), and serialize().
| int4 blender::draw::command::PushConstant::int4_value |
Definition at line 240 of file draw_command.hh.
Referenced by execute(), PushConstant(), and serialize().
| const int* blender::draw::command::PushConstant::int_ref |
Definition at line 245 of file draw_command.hh.
Referenced by execute(), PushConstant(), and serialize().
| int blender::draw::command::PushConstant::location |
Definition at line 221 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().