PixelBullet
0.0.1
A C++ game engine
Loading...
Searching...
No Matches
engine
include
pixelbullet
scene
rendering
scene_render_extractor.h
1
#pragma once
2
3
#include "pixelbullet/filesystem/virtual_path.h"
4
#include "pixelbullet/scene/scene.h"
5
6
#include <glm/glm.hpp>
7
8
#include <optional>
9
#include <vector>
10
11
namespace
pixelbullet
12
{
13
struct
ExtractedView
14
{
15
glm::mat4 view = glm::mat4(1.0f);
16
glm::mat4 projection = glm::mat4(1.0f);
17
};
18
19
struct
ExtractedSprite
20
{
21
glm::mat4 model = glm::mat4(1.0f);
22
VirtualPath
texture;
23
glm::vec4 tint = glm::vec4(1.0f);
24
glm::vec2 uv_scale = glm::vec2(1.0f);
25
glm::vec2 uv_offset = glm::vec2(0.0f);
26
};
27
28
struct
ExtractedMesh
29
{
30
glm::mat4 model = glm::mat4(1.0f);
31
VirtualPath
mesh;
32
VirtualPath
material;
33
};
34
35
struct
SceneRenderData
36
{
37
std::optional<ExtractedView> main_view;
38
std::vector<ExtractedMesh> meshes;
39
std::vector<ExtractedSprite> sprites;
40
};
41
42
class
SceneRenderExtractor
43
{
44
public
:
45
static
SceneRenderData
Extract(
const
Scene
& scene, glm::uvec2 targetExtent);
46
};
47
}
// namespace pixelbullet
pixelbullet::SceneRenderExtractor
Definition
scene_render_extractor.h:43
pixelbullet::Scene
Definition
scene.h:22
pixelbullet::VirtualPath
Definition
virtual_path.h:10
pixelbullet::ExtractedMesh
Definition
scene_render_extractor.h:29
pixelbullet::ExtractedSprite
Definition
scene_render_extractor.h:20
pixelbullet::ExtractedView
Definition
scene_render_extractor.h:14
pixelbullet::SceneRenderData
Definition
scene_render_extractor.h:36
Generated by
1.12.0