candlewick 0.10.0
A tiny cross-platform renderer based on SDL3
|
Helper struct for depth or light pre-passes. More...
#include <candlewick/core/DepthAndShadowPass.h>
Classes | |
struct | Config |
Public Member Functions | |
DepthPass (NoInitT) | |
DepthPass (const Device &device, const MeshLayout &layout, SDL_GPUTexture *depth_texture, SDL_GPUTextureFormat format, const Config &config={}) | |
Create DepthPass (e.g. for a depth pre-pass) from a Device, specified mesh layout, and raw texture handle along with its format. | |
DepthPass (const Device &device, const MeshLayout &layout, const Texture &texture, const Config &config={}) | |
Create DepthPass (e.g. for a depth pre-pass) from a Device, specified mesh layout, and the RAIII Texture object. | |
DepthPass (const DepthPass &)=delete | |
DepthPass & | operator= (const DepthPass &)=delete |
DepthPass (DepthPass &&other) noexcept | |
DepthPass & | operator= (DepthPass &&other) noexcept |
void | render (CommandBuffer &cmdBuf, const Mat4f &viewProj, std::span< const OpaqueCastable > castables) |
void | release () noexcept |
Release the pass resources. | |
~DepthPass () noexcept | |
Class destructor. | |
Public Attributes | |
SDL_GPUTexture * | depthTexture = nullptr |
GraphicsPipeline | pipeline {NoInit} |
Static Public Attributes | |
static constexpr Uint32 | TRANSFORM_SLOT = 0 |
Helper struct for depth or light pre-passes.
|
inline |
candlewick::DepthPass::DepthPass | ( | const Device & | device, |
const MeshLayout & | layout, | ||
SDL_GPUTexture * | depth_texture, | ||
SDL_GPUTextureFormat | format, | ||
const Config & | config = {} ) |
Create DepthPass (e.g. for a depth pre-pass) from a Device, specified mesh layout, and raw texture handle along with its format.
device | The device object. |
layout | Mesh layout used for the render pipeline's vertex input state. |
depth_texture | Raw handle to a texture. Cannot be null. |
format | Texture format. Has to be passed here because we pass the raw handle. |
config | Configuration. |
|
inline |
|
delete |
|
noexcept |
|
inlinenoexcept |
Class destructor.
|
noexcept |
Release the pass resources.
void candlewick::DepthPass::render | ( | CommandBuffer & | cmdBuf, |
const Mat4f & | viewProj, | ||
std::span< const OpaqueCastable > | castables ) |
SDL_GPUTexture* candlewick::DepthPass::depthTexture = nullptr |
GraphicsPipeline candlewick::DepthPass::pipeline {NoInit} |
|
staticconstexpr |