libdonut 2.3.6
Application framework for cross-platform game development in C++20
Loading...
Searching...
No Matches
graphics.hpp
Go to the documentation of this file.
1#ifndef DONUT_MODULES_FWD_GRAPHICS_HPP
2#define DONUT_MODULES_FWD_GRAPHICS_HPP
3
4#include <cstddef> // std::size_t
5#include <cstdint> // std::uint32_t
6
7namespace donut::graphics {
8
9class Buffer;
10
11class Camera;
12
13struct Error;
14
15struct FontOptions;
16class Font;
17
18class Framebuffer;
19
20using Handle = std::uint32_t;
21
22enum class PixelFormat : std::uint32_t;
23enum class PixelComponentType : std::uint32_t;
24class ImageView;
25struct ImageSavePNGOptions;
26struct ImageSaveBMPOptions;
27struct ImageSaveTGAOptions;
28struct ImageSaveJPGOptions;
29struct ImageSaveHDROptions;
30struct ImageOptions;
31class Image;
32
33enum class MeshBufferUsage : std::uint32_t;
34enum class MeshPrimitiveType : std::uint32_t;
35enum class MeshIndexType : std::uint32_t;
36struct NoIndex;
37struct NoInstance;
38template <typename Vertex, typename Index, typename Instance>
39class Mesh;
40
41struct Model;
42
43struct RendererOptions;
44class Renderer;
45
46struct ModelInstance;
47struct TextureInstance;
48struct RectangleInstance;
49struct QuadInstance;
50struct SpriteInstance;
51struct TextInstance;
52class RenderPass;
53
54struct ShaderConfiguration;
55
56class ShaderParameter;
57template <typename T, std::size_t N>
58class ShaderArray;
59
60struct ShaderProgramOptions;
61class ShaderProgram;
62
63enum class ShaderStageType : unsigned;
64class ShaderStage;
65
66struct Shader2DOptions;
67class Shader2D;
68
69struct Shader3DOptions;
70class Shader3D;
71
72class SpriteAtlas;
73
74class Text;
75
76enum class TextureFormat : std::int32_t;
77struct TextureOptions;
78class Texture;
79
80struct TexturedQuad;
81
82class VertexArray;
83
84struct Viewport;
85
86struct WindowOptions;
87class Window;
88
89} // namespace donut::graphics
90
91#endif
Definition Buffer.hpp:7
TextureFormat
Description of the internal texel format of a Texture, including the number of component channels,...
Definition Texture.hpp:22
std::uint32_t Handle
Generic GPU resource handle.
Definition Handle.hpp:11
MeshBufferUsage
Hint to the graphics driver implementation regarding the intended access pattern of a particular GPU ...
Definition Mesh.hpp:44
PixelComponentType
Description of the data type of the pixel components of an image.
Definition Image.hpp:28
MeshPrimitiveType
Specification of which kind of graphical primitive is defined by an associated sequence of vertices i...
Definition Mesh.hpp:60
ShaderStageType
Type of a ShaderStage in a ShaderProgram.
Definition ShaderStage.hpp:12
PixelFormat
Description of the number and meaning of the pixel component channels of an image.
Definition Image.hpp:18
MeshIndexType
Specification of which type of indices is used in the index buffer of a particular Mesh.
Definition Mesh.hpp:73