|
Blender V5.0
|
#include <workbench_private.hh>
Inherits blender::draw::detail::Pass< command::DrawMultiBuf >.
MeshPass | |
| MeshPass (const char *name) | |
| bool | is_empty () const |
| void | init_pass (SceneResources &resources, DRWState state, int clip_planes) |
| void | init_subpasses (ePipelineType pipeline, eLightingType lighting, bool clip) |
| PassMain::Sub & | get_subpass (eGeometryType geometry_type, const MaterialTexture *texture=nullptr) |
Additional Inherited Members | |
| Public Types inherited from blender::draw::detail::Pass< command::DrawMultiBuf > | |
| using | Sub |
| Public Member Functions inherited from blender::draw::detail::Pass< command::DrawMultiBuf > | |
| Pass (const char *name) | |
| void | init () |
| Public Member Functions inherited from blender::draw::detail::PassBase< DrawCommandBufType > | |
| PassBase (const char *name, DrawCommandBufType &draw_command_buf, SubPassVector< PassBase< DrawCommandBufType > > &sub_passes, gpu::Shader *shader=nullptr) | |
| void | init () |
| template<class U> | |
| void | bind_resources (U &resources) |
| void | state_set (DRWState state, int clip_plane_count=0) |
| void | state_stencil (uint8_t write_mask, uint8_t reference, uint8_t compare_mask) |
| void | shader_set (gpu::Shader *shader) |
| void | framebuffer_set (gpu::FrameBuffer **framebuffer) |
| void | subpass_transition (GPUAttachmentState depth_attachment, Span< GPUAttachmentState > color_attachments) |
| void | material_set (Manager &manager, GPUMaterial *material, bool deferred_texture_loading=false) |
| void | clear_color (float4 color) |
| void | clear_depth (float depth) |
| void | clear_stencil (uint8_t stencil) |
| void | clear_depth_stencil (float depth, uint8_t stencil) |
| void | clear_color_depth_stencil (float4 color, float depth, uint8_t stencil) |
| void | draw (gpu::Batch *batch, uint instance_len=-1, uint vertex_len=-1, uint vertex_first=-1, ResourceIndexRange res_index={}, uint custom_id=0) |
| void | draw (gpu::Batch *batch, ResourceIndexRange res_index, uint custom_id=0) |
| void | draw_procedural (GPUPrimType primitive, uint instance_len, uint vertex_len, uint vertex_first=-1, ResourceIndexRange res_index={}, uint custom_id=0) |
| void | draw_expand (gpu::Batch *batch, GPUPrimType primitive_type, uint primitive_len, uint instance_len, uint vertex_len, uint vertex_first, ResourceIndexRange res_index={}, uint custom_id=0) |
| void | draw_expand (gpu::Batch *batch, GPUPrimType primitive_type, uint primitive_len, uint instance_len, ResourceIndexRange res_index={}, uint custom_id=0) |
| void | draw_indirect (gpu::Batch *batch, StorageBuffer< DrawCommand, true > &indirect_buffer, ResourceIndex res_index={0}) |
| void | draw_procedural_indirect (GPUPrimType primitive, StorageBuffer< DrawCommand, true > &indirect_buffer, ResourceIndex res_index={0}) |
| void | dispatch (int group_len) |
| void | dispatch (int2 group_len) |
| void | dispatch (int3 group_len) |
| void | dispatch (int3 *group_len) |
| void | dispatch (StorageBuffer< DispatchCommand > &indirect_buffer) |
| void | barrier (GPUBarrier type) |
| void | push_constant (const char *name, const float &data) |
| void | push_constant (const char *name, const float2 &data) |
| void | push_constant (const char *name, const float3 &data) |
| void | push_constant (const char *name, const float4 &data) |
| void | push_constant (const char *name, const int &data) |
| void | push_constant (const char *name, const int2 &data) |
| void | push_constant (const char *name, const int3 &data) |
| void | push_constant (const char *name, const int4 &data) |
| void | push_constant (const char *name, const bool &data) |
| void | push_constant (const char *name, const float4x4 &data) |
| void | push_constant (const char *name, const float *data, int array_len=1) |
| void | push_constant (const char *name, const float2 *data, int array_len=1) |
| void | push_constant (const char *name, const float3 *data, int array_len=1) |
| void | push_constant (const char *name, const float4 *data, int array_len=1) |
| void | push_constant (const char *name, const int *data, int array_len=1) |
| void | push_constant (const char *name, const int2 *data, int array_len=1) |
| void | push_constant (const char *name, const int3 *data, int array_len=1) |
| void | push_constant (const char *name, const int4 *data, int array_len=1) |
| void | push_constant (const char *name, const float4x4 *data) |
| bool | is_empty () const |
| PassBase< DrawCommandBufType > & | sub (const char *name) |
| void | clear_multi (Span< float4 > colors) |
| std::string | serialize (std::string line_prefix="") const |
| void | bind_image (const char *name, gpu::Texture *image) |
| void | bind_image (const char *name, gpu::Texture **image) |
| void | bind_image (int slot, gpu::Texture *image) |
| void | bind_image (int slot, gpu::Texture **image) |
| void | bind_texture (const char *name, gpu::Texture *texture, GPUSamplerState state=sampler_auto) |
| void | bind_texture (const char *name, gpu::Texture **texture, GPUSamplerState state=sampler_auto) |
| void | bind_texture (const char *name, gpu::VertBuf *buffer) |
| void | bind_texture (const char *name, gpu::VertBuf **buffer) |
| void | bind_texture (const char *name, gpu::VertBufPtr &buffer) |
| void | bind_texture (int slot, gpu::Texture *texture, GPUSamplerState state=sampler_auto) |
| void | bind_texture (int slot, gpu::Texture **texture, GPUSamplerState state=sampler_auto) |
| void | bind_texture (int slot, gpu::VertBuf *buffer) |
| void | bind_texture (int slot, gpu::VertBuf **buffer) |
| void | bind_texture (int slot, gpu::VertBufPtr &buffer) |
| void | bind_ssbo (const char *name, gpu::StorageBuf *buffer) |
| void | bind_ssbo (const char *name, gpu::StorageBuf **buffer) |
| void | bind_ssbo (int slot, gpu::StorageBuf *buffer) |
| void | bind_ssbo (int slot, gpu::StorageBuf **buffer) |
| void | bind_ssbo (const char *name, gpu::UniformBuf *buffer) |
| void | bind_ssbo (const char *name, gpu::UniformBuf **buffer) |
| void | bind_ssbo (int slot, gpu::UniformBuf *buffer) |
| void | bind_ssbo (int slot, gpu::UniformBuf **buffer) |
| void | bind_ssbo (const char *name, gpu::VertBuf *buffer) |
| void | bind_ssbo (const char *name, gpu::VertBuf **buffer) |
| void | bind_ssbo (const char *name, gpu::VertBufPtr &buffer) |
| void | bind_ssbo (int slot, gpu::VertBuf *buffer) |
| void | bind_ssbo (int slot, gpu::VertBuf **buffer) |
| void | bind_ssbo (int slot, gpu::VertBufPtr &buffer) |
| void | bind_ssbo (const char *name, gpu::IndexBuf *buffer) |
| void | bind_ssbo (const char *name, gpu::IndexBuf **buffer) |
| void | bind_ssbo (int slot, gpu::IndexBuf *buffer) |
| void | bind_ssbo (int slot, gpu::IndexBuf **buffer) |
| void | bind_ubo (const char *name, gpu::UniformBuf *buffer) |
| void | bind_ubo (const char *name, gpu::UniformBuf **buffer) |
| void | bind_ubo (int slot, gpu::UniformBuf *buffer) |
| void | bind_ubo (int slot, gpu::UniformBuf **buffer) |
| void | specialize_constant (gpu::Shader *shader, const char *name, const float &data) |
| void | specialize_constant (gpu::Shader *shader, const char *name, const int &data) |
| void | specialize_constant (gpu::Shader *shader, const char *name, const uint &data) |
| void | specialize_constant (gpu::Shader *shader, const char *name, const bool &data) |
| void | specialize_constant (gpu::Shader *shader, const char *name, const float *data) |
| void | specialize_constant (gpu::Shader *shader, const char *name, const int *data) |
| void | specialize_constant (gpu::Shader *shader, const char *name, const uint *data) |
| void | specialize_constant (gpu::Shader *shader, const char *name, const bool *data) |
| Public Attributes inherited from blender::draw::detail::PassBase< DrawCommandBufType > | |
| const char * | debug_name |
| bool | use_custom_ids |
| Protected Member Functions inherited from blender::draw::detail::PassBase< DrawCommandBufType > | |
| bool | has_generated_commands () const |
| void | clear (GPUFrameBufferBits planes, float4 color, float depth, uint8_t stencil) |
| gpu::Batch * | procedural_batch_get (GPUPrimType primitive) |
| command::Undetermined & | create_command (command::Type type) |
| void | warm_shader_specialization (command::RecordingState &state) const |
| void | submit (command::RecordingState &state) const |
| int | push_constant_offset (const char *name) |
| Protected Attributes inherited from blender::draw::detail::PassBase< DrawCommandBufType > | |
| Vector< command::Header, 0 > | headers_ |
| Vector< command::Undetermined, 0 > | commands_ |
| DrawCommandBufType & | draw_commands_buf_ |
| SubPassVector< PassBase< DrawCommandBufType > > & | sub_passes_ |
| gpu::Shader * | shader_ |
| uint64_t | manager_fingerprint_ = 0 |
| uint64_t | view_fingerprint_ = 0 |
| bool | is_empty_ = true |
Definition at line 279 of file workbench_private.hh.
| blender::workbench::MeshPass::MeshPass | ( | const char * | name | ) |
Definition at line 13 of file workbench_mesh_passes.cc.
References name.
| PassMain::Sub & blender::workbench::MeshPass::get_subpass | ( | eGeometryType | geometry_type, |
| const MaterialTexture * | texture = nullptr ) |
Definition at line 71 of file workbench_mesh_passes.cc.
References blender::draw::detail::PassBase< DrawCommandBufType >::bind_texture(), FLT_MAX, blender::workbench::MATERIAL, blender::draw::detail::PassBase< DrawCommandBufType >::push_constant(), blender::draw::detail::PassBase< DrawCommandBufType >::sub(), blender::workbench::TEXTURE, texture(), WB_TEXTURE_SLOT, WB_TILE_ARRAY_SLOT, and WB_TILE_DATA_SLOT.
| void blender::workbench::MeshPass::init_pass | ( | SceneResources & | resources, |
| DRWState | state, | ||
| int | clip_planes ) |
Definition at line 22 of file workbench_mesh_passes.cc.
References blender::draw::detail::PassBase< DrawCommandBufType >::bind_ssbo(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_texture(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_ubo(), blender::workbench::SceneResources::clip_planes_buf, DRW_CLIPPING_UBO_SLOT, blender::workbench::SceneResources::dummy_texture_tx, blender::workbench::SceneResources::dummy_tile_array_tx, blender::workbench::SceneResources::dummy_tile_data_tx, blender::draw::detail::Pass< command::DrawMultiBuf >::init(), blender::workbench::SceneResources::matcap_tx, blender::workbench::SceneResources::material_buf, state, blender::draw::detail::PassBase< DrawCommandBufType >::state_set(), blender::draw::detail::PassBase< DrawCommandBufType >::use_custom_ids, WB_MATCAP_SLOT, WB_MATERIAL_SLOT, WB_TEXTURE_SLOT, WB_TILE_ARRAY_SLOT, WB_TILE_DATA_SLOT, WB_WORLD_SLOT, and blender::workbench::SceneResources::world_buf.
| void blender::workbench::MeshPass::init_subpasses | ( | ePipelineType | pipeline, |
| eLightingType | lighting, | ||
| bool | clip ) |
Definition at line 39 of file workbench_mesh_passes.cc.
References blender::workbench::geometry_type_len, and blender::workbench::shader_type_len.
| bool blender::workbench::MeshPass::is_empty | ( | ) | const |
Definition at line 15 of file workbench_mesh_passes.cc.