candlewick 0.1.0
A renderer
Loading...
Searching...
No Matches
Renderer.h File Reference
#include "Device.h"
#include "CommandBuffer.h"
#include "Texture.h"
#include "Mesh.h"
#include "Window.h"
#include <span>
#include <SDL3/SDL_gpu.h>

Go to the source code of this file.

Classes

struct  candlewick::Renderer
 The Renderer class provides a rendering context for a graphical application. More...
 

Namespaces

namespace  candlewick
 
namespace  candlewick::rend
 

Functions

void candlewick::rend::bindMesh (SDL_GPURenderPass *pass, const Mesh &mesh)
 Bind a Mesh object.
 
void candlewick::rend::bindMeshView (SDL_GPURenderPass *pass, const MeshView &view)
 Bind a MeshView object.
 
void candlewick::rend::drawViews (SDL_GPURenderPass *pass, std::span< const MeshView > meshViews, Uint32 numInstances=1)
 Render a collection of MeshView. This collection must satisfy the invariant that they all have the same parent Mesh object, which allows batching draw calls like this without having to rebind the Mesh.
 
void candlewick::rend::draw (SDL_GPURenderPass *pass, const Mesh &mesh, Uint32 numInstances=1)
 
void candlewick::rend::drawView (SDL_GPURenderPass *pass, const MeshView &mesh, Uint32 numInstances=1)
 Draw a MeshView.
 
void candlewick::rend::bindVertexSamplers (SDL_GPURenderPass *pass, Uint32 first_slot, std::span< const SDL_GPUTextureSamplerBinding > bindings)
 Bind multiple fragment shader samplers.
 
void candlewick::rend::bindVertexSamplers (SDL_GPURenderPass *pass, Uint32 first_slot, std::initializer_list< SDL_GPUTextureSamplerBinding > sampler_bindings)
 Bind multiple fragment shader samplers. This overload exists to enable taking a brace-initialized array.
 
void candlewick::rend::bindFragmentSamplers (SDL_GPURenderPass *pass, Uint32 first_slot, std::span< const SDL_GPUTextureSamplerBinding > bindings)
 Bind multiple fragment shader samplers.
 
void candlewick::rend::bindFragmentSamplers (SDL_GPURenderPass *pass, Uint32 first_slot, std::initializer_list< SDL_GPUTextureSamplerBinding > sampler_bindings)
 Bind multiple fragment shader samplers. This overload exists to enable taking a brace-initialized array.