ObjectivelyGPU
Object oriented graphics framework for SDL3 and C
Loading...
Searching...
No Matches
GraphicsPipeline Struct Reference

An SDL_GPUGraphicsPipeline: the compiled vertex/fragment program plus all fixed-function render state (blend, rasteriser, depth/stencil, targets). More...

#include <GraphicsPipeline.h>

Inheritance diagram for GraphicsPipeline:

Public Member Functions

GraphicsPipelineinitWithDevice (GraphicsPipeline *self, RenderDevice *device, const SDL_GPUGraphicsPipelineCreateInfo *info)
 Initializes this GraphicsPipeline, compiling it from info.
 
Class * _GraphicsPipeline (void)
 The GraphicsPipeline archetype.
 

Data Fields

Object object
 The superclass.
 
SDL_GPUGraphicsPipeline * pipeline
 The underlying SDL graphics pipeline.
 
ident data
 User data.
 

Protected Attributes

GraphicsPipelineInterface * interface
 The interface.
 

Detailed Description

An SDL_GPUGraphicsPipeline: the compiled vertex/fragment program plus all fixed-function render state (blend, rasteriser, depth/stencil, targets).

GraphicsPipeline owns its underlying SDL_GPUGraphicsPipeline and releases it in dealloc, so a pipeline is freed with release like any other Objectively object. Bind it with RenderPass::bindPipeline via its pipeline handle.

Member Function Documentation

◆ _GraphicsPipeline()

Class * _GraphicsPipeline ( void  )

The GraphicsPipeline archetype.

Returns
The GraphicsPipeline Class.

◆ initWithDevice()

GraphicsPipeline * initWithDevice ( GraphicsPipeline self,
RenderDevice device,
const SDL_GPUGraphicsPipelineCreateInfo *  info 
)

Initializes this GraphicsPipeline, compiling it from info.

This is the designated initializer. All shaders, vertex input state, blend, rasteriser, depth/stencil state, and colour target formats are supplied in info.

Parameters
selfThe GraphicsPipeline.
deviceThe RenderDevice used to create and release the pipeline. Retained.
infoGraphics pipeline creation parameters.
Returns
The initialized GraphicsPipeline, or NULL on failure.

Field Documentation

◆ data

ident GraphicsPipeline::data

User data.

◆ interface

GraphicsPipelineInterface* GraphicsPipeline::interface
protected

The interface.

◆ object

Object GraphicsPipeline::object

The superclass.

◆ pipeline

SDL_GPUGraphicsPipeline* GraphicsPipeline::pipeline

The underlying SDL graphics pipeline.


The documentation for this struct was generated from the following files: