PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
render_data.h
1#pragma once
2
3#include "pixelbullet/filesystem/virtual_path.h"
4#include "pixelbullet/assets/material.h"
5#include "pixelbullet/scene/entity_id.h"
6#include "pixelbullet/scene/view.h"
7
8#include <glm/glm.hpp>
9
10#include <optional>
11#include <vector>
12
13namespace pixelbullet
14{
16{
17 EntityId source_entity = EntityId::Invalid();
18 EntityId prefab_entity = EntityId::Invalid();
19 glm::mat4 model = glm::mat4(1.0f);
20 VirtualPath texture;
21 glm::vec4 tint = glm::vec4(1.0f);
22 glm::vec2 uv_scale = glm::vec2(1.0f);
23 glm::vec2 uv_offset = glm::vec2(0.0f);
24};
25
27{
28 EntityId source_entity = EntityId::Invalid();
29 EntityId prefab_entity = EntityId::Invalid();
30 glm::mat4 model = glm::mat4(1.0f);
31 VirtualPath mesh;
32 VirtualPath material;
33 std::optional<MaterialTextureTransform> material_uv_transform;
34};
35
37{
38 EntityId source_entity = EntityId::Invalid();
39 EntityId prefab_entity = EntityId::Invalid();
40 glm::mat4 model = glm::mat4(1.0f);
41 VirtualPath mesh;
42 VirtualPath material;
43 std::optional<MaterialTextureTransform> material_uv_transform;
44 std::vector<glm::mat4> joint_world_matrices;
45};
46
48{
49 EntityId source_entity = EntityId::Invalid();
50 EntityId prefab_entity = EntityId::Invalid();
51 glm::mat4 model = glm::mat4(1.0f);
52 VirtualPath mesh;
53 VirtualPath material;
54 std::optional<MaterialTextureTransform> material_uv_transform;
55 std::vector<float> weights;
56};
57
59{
60 EntityId source_entity = EntityId::Invalid();
61 EntityId prefab_entity = EntityId::Invalid();
62 glm::mat4 model = glm::mat4(1.0f);
63 VirtualPath mesh;
64 VirtualPath material;
65 std::optional<MaterialTextureTransform> material_uv_transform;
66 std::vector<glm::mat4> joint_world_matrices;
67 std::vector<float> weights;
68};
69
71{
72 EntityId source_entity = EntityId::Invalid();
73 EntityId prefab_entity = EntityId::Invalid();
74 glm::vec3 direction = glm::vec3(0.0f, 0.0f, -1.0f);
75 glm::vec3 color = glm::vec3(1.0f);
76 float intensity = 1.0f;
77 bool shadow_enabled = false;
78 float shadow_strength = 1.0f;
79 float shadow_bias = 0.0015f;
80 float shadow_normal_bias = 0.02f;
81 float shadow_distance = 24.0f;
82};
83
85{
86 VirtualPath environment_asset;
87 float background_intensity = 1.0f;
88 float ambient_intensity = 0.15f;
89 float specular_intensity = 1.0f;
90 float exposure = 1.0f;
91};
92
94{
95 EntityId source_entity = EntityId::Invalid();
96 EntityId prefab_entity = EntityId::Invalid();
97 glm::vec3 position = glm::vec3(0.0f);
98 float range = 0.0f;
99 glm::vec3 color = glm::vec3(1.0f);
100 float intensity = 1.0f;
101};
102
104{
105 EntityId source_entity = EntityId::Invalid();
106 EntityId prefab_entity = EntityId::Invalid();
107 glm::vec3 position = glm::vec3(0.0f);
108 float range = 0.0f;
109 glm::vec3 direction = glm::vec3(0.0f, 0.0f, -1.0f);
110 float outer_cone_angle_degrees = 45.0f;
111 glm::vec3 color = glm::vec3(1.0f);
112 float intensity = 1.0f;
113 float inner_cone_angle_degrees = 0.0f;
114};
115
117{
118 std::optional<ExtractedView> main_view;
119 std::optional<ExtractedEnvironment> environment;
120 std::vector<ExtractedMesh> meshes;
121 std::vector<ExtractedMorphMesh> morph_meshes;
122 std::vector<ExtractedSkinnedMesh> skinned_meshes;
123 std::vector<ExtractedSkinnedMorphMesh> skinned_morph_meshes;
124 std::vector<ExtractedSprite> sprites;
125 std::vector<ExtractedDirectionalLight> directional_lights;
126 std::vector<ExtractedPointLight> point_lights;
127 std::vector<ExtractedSpotLight> spot_lights;
128};
129} // namespace pixelbullet
Definition entity_id.h:11
Definition virtual_path.h:10
Definition render_data.h:71
Definition render_data.h:85
Definition render_data.h:27
Definition render_data.h:48
Definition render_data.h:94
Definition render_data.h:37
Definition render_data.h:59
Definition render_data.h:104
Definition render_data.h:16
Definition render_data.h:117