Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
Loading...
Searching...
No Matches
Framebuffer.hpp
1
#pragma once
2
3
#include "RenderPass.hpp"
4
#include "Formats.hpp"
5
#include <vector>
6
#include <stdint.h>
7
8
namespace
Grindstone::GraphicsAPI {
9
class
RenderPass
;
10
class
Image
;
11
16
class
Framebuffer
{
17
public
:
18
struct
DefaultFramebufferCreateInfo
{
19
uint32_t width;
20
uint32_t height;
21
RenderPass
* renderPass =
nullptr
;
22
};
23
24
struct
CreateInfo
{
25
const
char
* debugName;
26
RenderPass
* renderPass;
27
uint32_t width;
28
uint32_t height;
29
30
Image
** renderTargets;
31
uint32_t renderTargetCount;
32
Image
* depthTarget;
33
bool
isCubemap =
false
;
34
};
35
36
virtual
RenderPass
* GetRenderPass()
const
= 0;
37
virtual
void
Resize(uint32_t width, uint32_t height) = 0;
38
virtual
void
Clear(ClearMode mask) = 0;
39
virtual
void
BindTextures(
int
i) = 0;
40
virtual
void
Bind() = 0;
41
virtual
void
BindWrite() = 0;
42
virtual
void
BindRead() = 0;
43
virtual
void
Unbind() = 0;
44
virtual
uint32_t GetWidth()
const
= 0;
45
virtual
uint32_t GetHeight()
const
= 0;
46
virtual
uint32_t GetRenderTargetCount()
const
= 0;
47
virtual
Image
* GetRenderTarget(uint32_t index)
const
= 0;
48
virtual
Image
* GetDepthStencilTarget()
const
= 0;
49
virtual
~Framebuffer
() {};
50
};
51
}
Grindstone::GraphicsAPI::Framebuffer
Definition
Framebuffer.hpp:16
Grindstone::GraphicsAPI::Image
Definition
Image.hpp:49
Grindstone::GraphicsAPI::RenderPass
Definition
RenderPass.hpp:10
Grindstone::GraphicsAPI::Framebuffer::CreateInfo
Definition
Framebuffer.hpp:24
Grindstone::GraphicsAPI::Framebuffer::DefaultFramebufferCreateInfo
Definition
Framebuffer.hpp:18
sources
code
Common
Graphics
Framebuffer.hpp
Generated by
1.17.0