libdonut  2.3.2
Application framework for cross-platform game development in C++20
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 
7 namespace donut::graphics {
8 
9 class Buffer;
10 
11 class Camera;
12 
13 struct Error;
14 
15 struct FontOptions;
16 class Font;
17 
18 class Framebuffer;
19 
20 using Handle = std::uint32_t;
21 
22 enum class PixelFormat : std::uint32_t;
23 enum class PixelComponentType : std::uint32_t;
24 class ImageView;
25 struct ImageSavePNGOptions;
26 struct ImageSaveBMPOptions;
27 struct ImageSaveTGAOptions;
28 struct ImageSaveJPGOptions;
29 struct ImageSaveHDROptions;
30 struct ImageOptions;
31 class Image;
32 
33 enum class MeshBufferUsage : std::uint32_t;
34 enum class MeshPrimitiveType : std::uint32_t;
35 enum class MeshIndexType : std::uint32_t;
36 struct NoIndex;
37 struct NoInstance;
38 template <typename Vertex, typename Index, typename Instance>
39 class Mesh;
40 
41 struct Model;
42 
43 struct RendererOptions;
44 class Renderer;
45 
46 struct ModelInstance;
47 struct TextureInstance;
48 struct RectangleInstance;
49 struct QuadInstance;
50 struct SpriteInstance;
51 struct TextInstance;
52 class RenderPass;
53 
54 struct ShaderConfiguration;
55 
56 class ShaderParameter;
57 template <typename T, std::size_t N>
58 class ShaderArray;
59 
60 struct ShaderProgramOptions;
61 class ShaderProgram;
62 
63 enum class ShaderStageType : unsigned;
64 class ShaderStage;
65 
66 struct Shader2DOptions;
67 class Shader2D;
68 
69 struct Shader3DOptions;
70 class Shader3D;
71 
72 class SpriteAtlas;
73 
74 class Text;
75 
76 enum class TextureFormat : std::int32_t;
77 struct TextureOptions;
78 class Texture;
79 
80 struct TexturedQuad;
81 
82 class VertexArray;
83 
84 struct Viewport;
85 
86 struct WindowOptions;
87 class 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:29
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:19
MeshIndexType
Specification of which type of indices is used in the index buffer of a particular Mesh.
Definition: Mesh.hpp:73