candlewick
0.10.0
A tiny cross-platform renderer based on SDL3
Loading...
Searching...
No Matches
Core.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <coal/fwd.hh>
4
#include <cassert>
5
#include <concepts>
6
7
#define CANDLEWICK_ASSERT(condition, msg) assert(((condition) && (msg)))
8
9
namespace
candlewick
{
10
struct
Camera;
11
class
CommandBuffer;
12
struct
Device;
13
class
GraphicsPipeline;
14
class
Texture;
15
class
Mesh;
16
class
MeshView;
17
class
MeshLayout;
18
struct
Shader;
19
struct
RenderContext;
20
struct
Window;
21
22
struct
DirectionalLight;
23
24
using
coal::AABB;
25
29
template
<
typename
T>
30
concept
Scene
=
requires
(T t,
CommandBuffer
&cmdBuf,
const
Camera
&camera) {
31
{ t.update() } -> std::same_as<void>;
32
{ t.render(cmdBuf, camera) } -> std::same_as<void>;
33
{ t.release() } -> std::same_as<void>;
34
};
35
36
}
// namespace candlewick
candlewick::CommandBuffer
Definition
CommandBuffer.h:16
candlewick::Scene
The Scene concept requires that there exist functions to render the scene. Provided a command buffer ...
Definition
Core.h:30
candlewick
Definition
Camera.h:8
candlewick::Camera
The main way of using a camera to render things.
Definition
Camera.h:19
src
candlewick
core
Core.h
Generated by
1.13.2