Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::render::GpuRenderPass Class Reference

An open render pass. More...

#include <gpu_pass.hpp>

Public Member Functions

 GpuRenderPass (GpuRenderPass &&) noexcept
GpuRenderPass & operator= (GpuRenderPass &&) noexcept
 GpuRenderPass (const GpuRenderPass &)=delete
GpuRenderPass & operator= (const GpuRenderPass &)=delete
 ~GpuRenderPass ()
bool valid () const noexcept
void set_pipeline (const GpuRenderPipeline &pipeline)
void set_bind_group (std::uint32_t index, const GpuBindGroup &group)
void set_vertex_buffer (std::uint32_t slot, const GpuBuffer &buffer, std::uint64_t offset=0)
void set_index_buffer (const GpuBuffer &buffer, bool uint32_indices=true, std::uint64_t offset=0)
 32-bit indices when uint32_indices, 16-bit otherwise.
void set_viewport (float x, float y, float width, float height, float min_depth=0.0f, float max_depth=1.0f)
void set_scissor (std::uint32_t x, std::uint32_t y, std::uint32_t width, std::uint32_t height)
void draw (std::uint32_t vertex_count, std::uint32_t instance_count=1, std::uint32_t first_vertex=0, std::uint32_t first_instance=0)
void draw_indexed (std::uint32_t index_count, std::uint32_t instance_count=1, std::uint32_t first_index=0, std::int32_t base_vertex=0, std::uint32_t first_instance=0)
void end ()

Friends

class GpuFrame

Detailed Description

An open render pass.

Ends on end() or destruction. Calls after the pass ended, or on a pass that failed to begin, are recorded as errors on the owning frame and reported by its submit().

Constructor & Destructor Documentation

◆ GpuRenderPass() [1/2]

pulp::render::GpuRenderPass::GpuRenderPass ( GpuRenderPass && )
noexcept

◆ GpuRenderPass() [2/2]

pulp::render::GpuRenderPass::GpuRenderPass ( const GpuRenderPass & )
delete

◆ ~GpuRenderPass()

pulp::render::GpuRenderPass::~GpuRenderPass ( )

Member Function Documentation

◆ draw()

void pulp::render::GpuRenderPass::draw ( std::uint32_t vertex_count,
std::uint32_t instance_count = 1,
std::uint32_t first_vertex = 0,
std::uint32_t first_instance = 0 )

◆ draw_indexed()

void pulp::render::GpuRenderPass::draw_indexed ( std::uint32_t index_count,
std::uint32_t instance_count = 1,
std::uint32_t first_index = 0,
std::int32_t base_vertex = 0,
std::uint32_t first_instance = 0 )

◆ end()

void pulp::render::GpuRenderPass::end ( )

◆ operator=() [1/2]

GpuRenderPass & pulp::render::GpuRenderPass::operator= ( const GpuRenderPass & )
delete

◆ operator=() [2/2]

GpuRenderPass & pulp::render::GpuRenderPass::operator= ( GpuRenderPass && )
noexcept

◆ set_bind_group()

void pulp::render::GpuRenderPass::set_bind_group ( std::uint32_t index,
const GpuBindGroup & group )

◆ set_index_buffer()

void pulp::render::GpuRenderPass::set_index_buffer ( const GpuBuffer & buffer,
bool uint32_indices = true,
std::uint64_t offset = 0 )

32-bit indices when uint32_indices, 16-bit otherwise.

◆ set_pipeline()

void pulp::render::GpuRenderPass::set_pipeline ( const GpuRenderPipeline & pipeline)

◆ set_scissor()

void pulp::render::GpuRenderPass::set_scissor ( std::uint32_t x,
std::uint32_t y,
std::uint32_t width,
std::uint32_t height )

◆ set_vertex_buffer()

void pulp::render::GpuRenderPass::set_vertex_buffer ( std::uint32_t slot,
const GpuBuffer & buffer,
std::uint64_t offset = 0 )

◆ set_viewport()

void pulp::render::GpuRenderPass::set_viewport ( float x,
float y,
float width,
float height,
float min_depth = 0.0f,
float max_depth = 1.0f )

◆ valid()

bool pulp::render::GpuRenderPass::valid ( ) const
noexcept

◆ GpuFrame

friend class GpuFrame
friend

The documentation for this class was generated from the following file:
  • /home/runner/work/pulp/pulp/core/render/include/pulp/render/gpu_pass.hpp