|
Blender V4.5
|
#include <draw_pass.hh>
Inherits blender::draw::detail::PassBase< DrawCommandBufType >.
Public Types | |
| using | Sub = detail::PassBase<DrawCommandBufType> |
Public Member Functions | |
| 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, GPUShader *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 (GPUShader *shader) |
| void | framebuffer_set (GPUFrameBuffer **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, ResourceHandleRange handle={0}, uint custom_id=0) |
| void | draw (gpu::Batch *batch, ResourceHandleRange handle, uint custom_id=0) |
| void | draw_procedural (GPUPrimType primitive, uint instance_len, uint vertex_len, uint vertex_first=-1, ResourceHandleRange handle={0}, uint custom_id=0) |
| void | draw_expand (gpu::Batch *batch, GPUPrimType primitive_type, uint primitive_len, uint instance_len, uint vertex_len=-1, uint vertex_first=-1, ResourceHandleRange handle={0}, uint custom_id=0) |
| void | draw_expand (gpu::Batch *batch, GPUPrimType primitive_type, uint primitive_len, uint instance_len, ResourceHandleRange handle={0}, uint custom_id=0) |
| void | draw_indirect (gpu::Batch *batch, StorageBuffer< DrawCommand, true > &indirect_buffer, ResourceHandle handle={0}) |
| void | draw_procedural_indirect (GPUPrimType primitive, StorageBuffer< DrawCommand, true > &indirect_buffer, ResourceHandle handle={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 (eGPUBarrier 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, GPUTexture *image) |
| void | bind_image (const char *name, GPUTexture **image) |
| void | bind_image (int slot, GPUTexture *image) |
| void | bind_image (int slot, GPUTexture **image) |
| void | bind_texture (const char *name, GPUTexture *texture, GPUSamplerState state=sampler_auto) |
| void | bind_texture (const char *name, GPUTexture **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 (int slot, GPUTexture *texture, GPUSamplerState state=sampler_auto) |
| void | bind_texture (int slot, GPUTexture **texture, GPUSamplerState state=sampler_auto) |
| void | bind_texture (int slot, gpu::VertBuf *buffer) |
| void | bind_texture (int slot, gpu::VertBuf **buffer) |
| void | bind_ssbo (const char *name, GPUStorageBuf *buffer) |
| void | bind_ssbo (const char *name, GPUStorageBuf **buffer) |
| void | bind_ssbo (int slot, GPUStorageBuf *buffer) |
| void | bind_ssbo (int slot, GPUStorageBuf **buffer) |
| void | bind_ssbo (const char *name, GPUUniformBuf *buffer) |
| void | bind_ssbo (const char *name, GPUUniformBuf **buffer) |
| void | bind_ssbo (int slot, GPUUniformBuf *buffer) |
| void | bind_ssbo (int slot, GPUUniformBuf **buffer) |
| void | bind_ssbo (const char *name, gpu::VertBuf *buffer) |
| void | bind_ssbo (const char *name, gpu::VertBuf **buffer) |
| void | bind_ssbo (int slot, gpu::VertBuf *buffer) |
| void | bind_ssbo (int slot, gpu::VertBuf **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, GPUUniformBuf *buffer) |
| void | bind_ubo (const char *name, GPUUniformBuf **buffer) |
| void | bind_ubo (int slot, GPUUniformBuf *buffer) |
| void | bind_ubo (int slot, GPUUniformBuf **buffer) |
| void | specialize_constant (GPUShader *shader, const char *name, const float &data) |
| void | specialize_constant (GPUShader *shader, const char *name, const int &data) |
| void | specialize_constant (GPUShader *shader, const char *name, const uint &data) |
| void | specialize_constant (GPUShader *shader, const char *name, const bool &data) |
| void | specialize_constant (GPUShader *shader, const char *name, const float *data) |
| void | specialize_constant (GPUShader *shader, const char *name, const int *data) |
| void | specialize_constant (GPUShader *shader, const char *name, const uint *data) |
| void | specialize_constant (GPUShader *shader, const char *name, const bool *data) |
Definition at line 488 of file draw_pass.hh.
| using blender::draw::detail::Pass< DrawCommandBufType >::Sub = detail::PassBase<DrawCommandBufType> |
Definition at line 490 of file draw_pass.hh.
|
inline |
Definition at line 499 of file draw_pass.hh.
|
inline |
Definition at line 502 of file draw_pass.hh.
References blender::draw::detail::SubPassVector< T, block_size >::clear(), and blender::Vector< T, InlineBufferCapacity, Allocator >::clear().
Referenced by blender::draw::gpencil::Instance::antialiasing_accumulate(), blender::draw::edit_select::Instance::begin_sync(), blender::draw::external::Prepass::begin_sync(), blender::draw::gpencil::Instance::begin_sync(), blender::draw::overlay::AntiAliasing::begin_sync(), blender::draw::overlay::Armatures::begin_sync(), blender::draw::overlay::AttributeViewer::begin_sync(), blender::draw::overlay::Axes::begin_sync(), blender::draw::overlay::Background::begin_sync(), blender::draw::overlay::Cameras::begin_sync(), blender::draw::overlay::Cursor::begin_sync(), blender::draw::overlay::Curves::begin_sync(), blender::draw::overlay::Empties::begin_sync(), blender::draw::overlay::Facing::begin_sync(), blender::draw::overlay::Fade::begin_sync(), blender::draw::overlay::Fluids::begin_sync(), blender::draw::overlay::GreasePencil::begin_sync(), blender::draw::overlay::Grid::begin_sync(), blender::draw::overlay::ImagePrepass::begin_sync(), blender::draw::overlay::Lattices::begin_sync(), blender::draw::overlay::LightProbes::begin_sync(), blender::draw::overlay::Meshes::begin_sync(), blender::draw::overlay::MeshUVs::begin_sync(), blender::draw::overlay::ModeTransfer::begin_sync(), blender::draw::overlay::MotionPath::begin_sync(), blender::draw::overlay::Outline::begin_sync(), blender::draw::overlay::Paints::begin_sync(), blender::draw::overlay::Particles::begin_sync(), blender::draw::overlay::PointClouds::begin_sync(), blender::draw::overlay::Prepass::begin_sync(), blender::draw::overlay::Sculpts::begin_sync(), blender::draw::overlay::Text::begin_sync(), blender::draw::overlay::Wireframe::begin_sync(), blender::draw::overlay::XrayFade::begin_sync(), blender::eevee::DeferredLayer::begin_sync(), blender::eevee::DeferredProbePipeline::begin_sync(), blender::eevee::PlanarProbePipeline::begin_sync(), blender::eevee::ShadowModule::begin_sync(), blender::eevee::SphereProbeModule::begin_sync(), blender::image_engine::ScreenSpaceDrawingMode::begin_sync(), blender::eevee::ShadowModule::debug_end_sync(), blender::draw::DRW_curves_update(), blender::draw::overlay::Bounds::end_sync(), blender::draw::overlay::Cameras::end_sync(), blender::draw::overlay::ForceFields::end_sync(), blender::draw::overlay::LightProbes::end_sync(), blender::draw::overlay::Lights::end_sync(), blender::draw::overlay::MeshUVs::end_sync(), blender::draw::overlay::Metaballs::end_sync(), blender::draw::overlay::Origins::end_sync(), blender::draw::overlay::Relations::end_sync(), blender::draw::overlay::Speakers::end_sync(), blender::eevee::DeferredLayer::end_sync(), blender::eevee::DeferredProbePipeline::end_sync(), blender::eevee::PlanarProbePipeline::end_sync(), blender::eevee::ShadowModule::end_sync(), blender::eevee::SubsurfaceModule::end_sync(), blender::eevee::VolumeModule::end_sync(), blender::draw::overlay::Outline::flat_objects_pass_sync(), blender::eevee::DeferredLayerBase::gbuffer_pass_sync(), blender::eevee::VelocityModule::geometry_steps_fill(), blender::draw::gpencil::grease_pencil_layer_cache_add(), blender::draw::CurvesModule::init(), blender::eevee::IrradianceBake::surfels_create(), blender::eevee::AmbientOcclusion::sync(), blender::eevee::BackgroundPipeline::sync(), blender::eevee::CapturePipeline::sync(), blender::eevee::Film::sync(), blender::eevee::ForwardPipeline::sync(), blender::eevee::HiZBuffer::sync(), blender::eevee::IrradianceBake::sync(), blender::eevee::MotionBlurModule::sync(), blender::eevee::RayTraceModule::sync(), blender::eevee::ShadowPipeline::sync(), blender::eevee::VolumeLayer::sync(), blender::eevee::WorldPipeline::sync(), blender::eevee::WorldVolumePipeline::sync(), blender::workbench::AntiAliasingPass::sync(), blender::workbench::DofPass::sync(), blender::workbench::OpaquePass::sync(), blender::workbench::OutlinePass::sync(), blender::workbench::ShadowPass::sync(), blender::workbench::TransparentDepthPass::sync(), blender::workbench::TransparentPass::sync(), blender::workbench::VolumePass::sync(), blender::draw::test_draw_pass_all_commands(), blender::draw::test_draw_pass_multi_draw(), blender::draw::test_draw_pass_simple_draw(), blender::draw::test_draw_pass_sub_ordering(), blender::draw::test_draw_resource_id_gen(), blender::draw::test_draw_submit_only(), blender::draw::test_draw_visibility(), and blender::eevee::PlanarProbeModule::viewport_draw().