group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
RendererTypes.hpp
Go to the documentation of this file.
1
6
7#pragma once
8
9#include <glm/glm.hpp>
10
12enum class AAMode : int
13{
14 Off = 0,
15 SMAA_1x = 1,
16 SMAA_T2x = 2,
17};
18
24{
25 // Geometry passes
26 bool sceneGeometry = true;
27 bool pbrModels = true;
28 bool entityModels = true;
29 bool weaponViewmodel = true;
30 bool skybox = true;
31
32 // Shadow
33 bool shadows = true;
34
35 // Post-processing
36 bool ssao = true;
37 bool bloom = true;
38 bool ssr = true;
39 bool volumetrics = true;
40 bool tonemap = true;
41
42 // Effects
43 bool particles = true;
44 bool sdfText = true;
45};
46
49{
50 int32_t modelIndex = -1;
51 glm::mat4 worldTransform{1.0f};
52};
53
56{
57 glm::vec3 position{0.0f};
58 glm::vec3 color{1.0f};
59 float intensity = 1.0f;
60 float range = 500.0f;
61};
62
65{
66 int32_t modelIndex = -1;
67 glm::mat4 transform{1.0f};
68 bool visible = false;
69};
AAMode
Anti-aliasing mode selection – exposed to ImGui.
Definition RendererTypes.hpp:13
@ SMAA_1x
Spatial SMAA only, zero ghosting.
@ Off
No anti-aliasing.
@ SMAA_T2x
2-sample temporal + spatial SMAA (recommended).
Per-entity render command – built by Game, consumed by Renderer::drawFrame.
Definition RendererTypes.hpp:49
int32_t modelIndex
Index into Renderer::models[].
Definition RendererTypes.hpp:50
glm::mat4 worldTransform
Full world transform (position × rotation × scale).
Definition RendererTypes.hpp:51
Dynamic point light – built by Game, injected into the PBR light array.
Definition RendererTypes.hpp:56
glm::vec3 position
World-space position.
Definition RendererTypes.hpp:57
glm::vec3 color
Light colour (linear RGB).
Definition RendererTypes.hpp:58
float range
Attenuation range (world units); falloff = 1 - (d²/r²).
Definition RendererTypes.hpp:60
float intensity
Brightness multiplier (passed as color.a in the UBO).
Definition RendererTypes.hpp:59
Live toggles for every render system – exposed to ImGui.
Definition RendererTypes.hpp:24
bool ssao
Screen-space ambient occlusion.
Definition RendererTypes.hpp:36
bool particles
GPU particle system.
Definition RendererTypes.hpp:43
bool bloom
Bloom downsample + upsample chain.
Definition RendererTypes.hpp:37
bool weaponViewmodel
First-person weapon.
Definition RendererTypes.hpp:29
bool tonemap
HDR -> LDR tone mapping (disabling = raw HDR blit).
Definition RendererTypes.hpp:40
bool volumetrics
Volumetric lighting / god rays.
Definition RendererTypes.hpp:39
bool sdfText
SDF text rendering (HUD + world).
Definition RendererTypes.hpp:44
bool pbrModels
Assimp-loaded scene models (opaque + transparent).
Definition RendererTypes.hpp:27
bool entityModels
ECS-driven entity models (Renderable component).
Definition RendererTypes.hpp:28
bool ssr
Screen-space reflections.
Definition RendererTypes.hpp:38
bool sceneGeometry
Hard-coded cube + floor.
Definition RendererTypes.hpp:26
bool shadows
Shadow map pass + shadow sampling in PBR.
Definition RendererTypes.hpp:33
bool skybox
Procedural / cubemap skybox.
Definition RendererTypes.hpp:30
First-person weapon viewmodel descriptor sent per frame.
Definition RendererTypes.hpp:65
bool visible
Definition RendererTypes.hpp:68
int32_t modelIndex
Index into Renderer::models[].
Definition RendererTypes.hpp:66
glm::mat4 transform
Transform in viewmodel space (relative to camera).
Definition RendererTypes.hpp:67