ObjectivelyGPU
Object oriented graphics framework for SDL3 and C
Loading...
Searching...
No Matches
RenderPass.c File Reference
#include <assert.h>
#include "CommandBuffer.h"
#include "GraphicsPipeline.h"
#include "QueryPool.h"
#include "RenderPass.h"

Macros

#define _Class   _RenderPass
 

Functions

static void dealloc (Object *self)
 
static void bindFragmentSamplers (const RenderPass *self, Uint32 firstSlot, const SDL_GPUTextureSamplerBinding *bindings, Uint32 num)
 
static void bindFragmentStorageBuffers (const RenderPass *self, Uint32 firstSlot, SDL_GPUBuffer *const *buffers, Uint32 num)
 
static void bindFragmentStorageTextures (const RenderPass *self, Uint32 firstSlot, SDL_GPUTexture *const *textures, Uint32 num)
 
static void bindIndexBuffer (const RenderPass *self, const SDL_GPUBufferBinding *binding, SDL_GPUIndexElementSize indexElementSize)
 
static void bindPipeline (RenderPass *self, GraphicsPipeline *pipeline)
 
static void bindVertexBuffers (const RenderPass *self, Uint32 firstSlot, const SDL_GPUBufferBinding *bindings, Uint32 num)
 
static void bindVertexSamplers (const RenderPass *self, Uint32 firstSlot, const SDL_GPUTextureSamplerBinding *bindings, Uint32 num)
 
static void bindVertexStorageBuffers (const RenderPass *self, Uint32 firstSlot, SDL_GPUBuffer *const *buffers, Uint32 num)
 
static void bindVertexStorageTextures (const RenderPass *self, Uint32 firstSlot, SDL_GPUTexture *const *textures, Uint32 num)
 
static void beginQuery (const RenderPass *self, QueryPool *pool, Uint32 index)
 
static void endQuery (const RenderPass *self, QueryPool *pool, Uint32 index)
 
static void drawIndexedPrimitives (const RenderPass *self, Uint32 numIndices, Uint32 numInstances, Uint32 firstIndex, Sint32 vertexOffset, Uint32 firstInstance)
 
static void drawIndexedPrimitivesIndirect (const RenderPass *self, SDL_GPUBuffer *buffer, Uint32 offset, Uint32 drawCount)
 
static void drawPrimitives (const RenderPass *self, Uint32 numVertices, Uint32 numInstances, Uint32 firstVertex, Uint32 firstInstance)
 
static void drawPrimitivesIndirect (const RenderPass *self, SDL_GPUBuffer *buffer, Uint32 offset, Uint32 drawCount)
 
static RenderPassinit (RenderPass *self, CommandBuffer *commands, SDL_GPURenderPass *pass)
 
static void setBlendConstants (RenderPass *self, SDL_FColor blendConstants)
 
static void setScissor (RenderPass *self, const SDL_Rect *scissor)
 
static void setStencilReference (RenderPass *self, Uint8 reference)
 
static void setViewport (RenderPass *self, const SDL_GPUViewport *viewport)
 
static void initialize (Class *clazz)
 
Class * _RenderPass (void)
 

Macro Definition Documentation

◆ _Class

#define _Class   _RenderPass

Function Documentation

◆ _RenderPass()

Class * _RenderPass ( void  )

◆ beginQuery()

static void beginQuery ( const RenderPass self,
QueryPool pool,
Uint32  index 
)
static

◆ bindFragmentSamplers()

static void bindFragmentSamplers ( const RenderPass self,
Uint32  firstSlot,
const SDL_GPUTextureSamplerBinding *  bindings,
Uint32  num 
)
static

◆ bindFragmentStorageBuffers()

static void bindFragmentStorageBuffers ( const RenderPass self,
Uint32  firstSlot,
SDL_GPUBuffer *const *  buffers,
Uint32  num 
)
static

◆ bindFragmentStorageTextures()

static void bindFragmentStorageTextures ( const RenderPass self,
Uint32  firstSlot,
SDL_GPUTexture *const *  textures,
Uint32  num 
)
static

◆ bindIndexBuffer()

static void bindIndexBuffer ( const RenderPass self,
const SDL_GPUBufferBinding *  binding,
SDL_GPUIndexElementSize  indexElementSize 
)
static

◆ bindPipeline()

static void bindPipeline ( RenderPass self,
GraphicsPipeline pipeline 
)
static

◆ bindVertexBuffers()

static void bindVertexBuffers ( const RenderPass self,
Uint32  firstSlot,
const SDL_GPUBufferBinding *  bindings,
Uint32  num 
)
static

◆ bindVertexSamplers()

static void bindVertexSamplers ( const RenderPass self,
Uint32  firstSlot,
const SDL_GPUTextureSamplerBinding *  bindings,
Uint32  num 
)
static

◆ bindVertexStorageBuffers()

static void bindVertexStorageBuffers ( const RenderPass self,
Uint32  firstSlot,
SDL_GPUBuffer *const *  buffers,
Uint32  num 
)
static

◆ bindVertexStorageTextures()

static void bindVertexStorageTextures ( const RenderPass self,
Uint32  firstSlot,
SDL_GPUTexture *const *  textures,
Uint32  num 
)
static

◆ dealloc()

static void dealloc ( Object *  self)
static
See also
Object::dealloc(Object *)

◆ drawIndexedPrimitives()

static void drawIndexedPrimitives ( const RenderPass self,
Uint32  numIndices,
Uint32  numInstances,
Uint32  firstIndex,
Sint32  vertexOffset,
Uint32  firstInstance 
)
static

◆ drawIndexedPrimitivesIndirect()

static void drawIndexedPrimitivesIndirect ( const RenderPass self,
SDL_GPUBuffer *  buffer,
Uint32  offset,
Uint32  drawCount 
)
static

◆ drawPrimitives()

static void drawPrimitives ( const RenderPass self,
Uint32  numVertices,
Uint32  numInstances,
Uint32  firstVertex,
Uint32  firstInstance 
)
static

◆ drawPrimitivesIndirect()

static void drawPrimitivesIndirect ( const RenderPass self,
SDL_GPUBuffer *  buffer,
Uint32  offset,
Uint32  drawCount 
)
static

◆ endQuery()

static void endQuery ( const RenderPass self,
QueryPool pool,
Uint32  index 
)
static

◆ init()

static RenderPass * init ( RenderPass self,
CommandBuffer commands,
SDL_GPURenderPass *  pass 
)
static

◆ initialize()

static void initialize ( Class *  clazz)
static
See also
Class::initialize(Class *)

◆ setBlendConstants()

static void setBlendConstants ( RenderPass self,
SDL_FColor  blendConstants 
)
static

◆ setScissor()

static void setScissor ( RenderPass self,
const SDL_Rect *  scissor 
)
static

◆ setStencilReference()

static void setStencilReference ( RenderPass self,
Uint8  reference 
)
static

◆ setViewport()

static void setViewport ( RenderPass self,
const SDL_GPUViewport *  viewport 
)
static