CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
RendererCameraSettings.hpp
Go to the documentation of this file.
1//
2// CeresEngine - A game development framework
3//
4// Created by Rogiel Sulzbach.
5// Copyright (c) 2018-2022 Rogiel Sulzbach. All rights reserved.
6//
7
8#pragma once
9
11
14
17
19
20namespace CeresEngine {
21
40 double exposure = 1.0;
41
44 double gamma = 2.2;
45
46 public: // Reflection
49 template<typename Processor> static constexpr void reflect(Processor&& RTTI) {
52 }
53 };
54
63 bool enabled = false;
64
66 double threshold = 1.0;
67
70 int strength = 5;
71
74 Vector3 brightnessFactor = Vector3(0.2126, 0.7152, 0.0722);
75
77 bool toneMapping = false;
78
79 public: // Reflection
82 template<typename Processor> static constexpr void reflect(Processor&& RTTI) {
88 }
89 };
90
106
115
120
129
137
140
141 public: // Diffuse Tracing
144 bool traceDiffuse = true;
145
149
153
156
161
167
168 public: // Specular Tracing
171 bool traceSpecular = true;
172
176
180
183
184 public: // Ambient Occlusion Tracing
188
191
194
195 public:
200
208 double scalingFactor = 1.0;
209
214
216 bool alwaysVoxelize = false;
217
220
222 bool debug = false;
223
224 public: // Reflection
254 };
255
259 bool enabled = false;
260
263
264 public: // Reflection
267 template<typename Processor> static constexpr void reflect(Processor&& RTTI) {
270 }
271 };
272
277
280
283
291 bool depthPrePass = false;
292
294 bool frustumCulling = false;
295
296 public: // Reflection
299 template<typename Processor> static constexpr void reflect(Processor&& RTTI) {
305 }
306 };
307
308} // namespace CeresEngine
309
312
315
318
321
#define CE_REFLECT_HASH(T)
Definition Hash.hpp:89
#define CE_REFL_DATA(N)
Definition Macros.hpp:541
Definition Application.hpp:19
std::uint32_t UInt32
Definition DataTypes.hpp:23
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
Settings that control Global Illumination.
Definition RendererCameraSettings.hpp:258
static constexpr void reflect(Processor &&RTTI)
Executes the given processor for every field of the struct.
Definition RendererCameraSettings.hpp:267
bool enabled
Definition RendererCameraSettings.hpp:259
VoxelConeTracingSettings voxelConeTracingSettings
A structure that allows the user to customize the Voxel Cone Tracing algorithm parameters.
Definition RendererCameraSettings.hpp:262
Bloom provides an extra highlight to already bright areas of the scene, simulating the real-world cam...
Definition RendererCameraSettings.hpp:60
bool toneMapping
Apply tone mapping before extracting over-exposed areas.
Definition RendererCameraSettings.hpp:77
bool enabled
If set to true, the bloom effect will be enabled; false will disable it.
Definition RendererCameraSettings.hpp:63
double threshold
The bloom threshold.
Definition RendererCameraSettings.hpp:66
Vector3 brightnessFactor
The per-color brightness factor used when calculating the overall color brightness.
Definition RendererCameraSettings.hpp:74
static constexpr void reflect(Processor &&RTTI)
Executes the given processor for every field of the struct.
Definition RendererCameraSettings.hpp:82
int strength
The amount of blur passes to be performed.
Definition RendererCameraSettings.hpp:70
A structure that holds renderer-specific settings for a Camera.
Definition RendererCameraSettings.hpp:274
RendererHDRSettings hdr
HDR stands for high-dynamic range, and it allows the lights in the scene to use a large range of inte...
Definition RendererCameraSettings.hpp:276
RendererBloomSettings bloom
Bloom provides an extra highlight to already bright areas of the scene, simulating the real-world cam...
Definition RendererCameraSettings.hpp:279
static constexpr void reflect(Processor &&RTTI)
Executes the given processor for every field of the struct.
Definition RendererCameraSettings.hpp:299
bool frustumCulling
If enabled, the renderer will perform frustum culling on the camera.
Definition RendererCameraSettings.hpp:294
GlobalIlluminationSettings globalIllumination
Settings that control Global Illumination.
Definition RendererCameraSettings.hpp:282
bool depthPrePass
The depth/Z pre-pass is a technique where all of your scene geometry is rendered as a first step with...
Definition RendererCameraSettings.hpp:291
HDR stands for high-dynamic range, and it allows the lights in the scene to use a large range of inte...
Definition RendererCameraSettings.hpp:33
static constexpr void reflect(Processor &&RTTI)
Executes the given processor for every field of the struct.
Definition RendererCameraSettings.hpp:49
double gamma
The gamma value that's applied to the image before being sent to the output device.
Definition RendererCameraSettings.hpp:44
double exposure
The scene exposure to be used when rendering the camera Exposure determines which part of the high ra...
Definition RendererCameraSettings.hpp:40
A structure that allows the user to customize the Voxel Cone Tracing algorithm parameters.
Definition RendererCameraSettings.hpp:102
bool scalingMultisampling
If enabled and scaling is enabled, will sample 9 texels from the scaled indirect lighting image in or...
Definition RendererCameraSettings.hpp:213
UInt32 volumeDimension
The resolution used by the voxel image.
Definition RendererCameraSettings.hpp:105
bool traceSpecular
Whether the specular cone should be traced.
Definition RendererCameraSettings.hpp:171
double diffuseSamplingFactor
The factor to increase the cone radius each iteration of the diffuse component.
Definition RendererCameraSettings.hpp:148
bool debug
If set to true, will render the voxelized scene.
Definition RendererCameraSettings.hpp:222
bool traceDiffuse
If set to true, will trace 6 cones that compound the diffuse global illumination component.
Definition RendererCameraSettings.hpp:144
double maximumVolumeGridSize
By default, the scene is voxelized up to the camera's far plane distance, however depending on the ca...
Definition RendererCameraSettings.hpp:136
double specularMaxTracingDistance
The maximum voxel distance to trace a cone.
Definition RendererCameraSettings.hpp:179
double ambientOcclusionAlpha
The alpha value to be added when computing ambient occlusion.
Definition RendererCameraSettings.hpp:193
bool traceSimplifiedDiffuseCone
Traces a unique and simplified diffuse cone.
Definition RendererCameraSettings.hpp:160
bool traceAmbientOcclusion
Disables ambient occlusion tracing.
Definition RendererCameraSettings.hpp:187
double scalingFactor
If set to anything other than 1.0, the indirect illumination will be computed on a smaller or larger ...
Definition RendererCameraSettings.hpp:208
UInt32 voxelUpdateChunkSize
To avoid recomputing the voxel frequently, the scene is only revoxelized once the camera has moved se...
Definition RendererCameraSettings.hpp:128
bool alwaysVoxelize
Always voxelizes the scene.
Definition RendererCameraSettings.hpp:216
double diffuseBounceStrength
A multiplier to the applied to the bounced light strength.
Definition RendererCameraSettings.hpp:155
bool normalWeightedLambert
A disadvantage of this technique is the loss of precision averaging all the geometry normals within a...
Definition RendererCameraSettings.hpp:114
double specularBounceStrength
A multiplier to the applied to the bounced light strength.
Definition RendererCameraSettings.hpp:182
double emissiveInjectionFactor
A factor that gets multiplied with the material emissive component to help deal with low-precision em...
Definition RendererCameraSettings.hpp:199
double ambientOcclusionFalloff
The falloff to be applied when computing ambient occlusion.
Definition RendererCameraSettings.hpp:190
bool traceNormalOrientedDiffuseCone
If set to true will trace diffuse cones around the normal vector.
Definition RendererCameraSettings.hpp:166
static constexpr void reflect(Processor &&RTTI)
Executes the given processor for every field of the struct.
Definition RendererCameraSettings.hpp:227
bool useShadowMapIfAvailable
Allows the algorithm to reuse a shadow map if available.
Definition RendererCameraSettings.hpp:119
double specularSamplingFactor
The factor to increase the cone radius each iteration of the specular component.
Definition RendererCameraSettings.hpp:175
double diffuseMaxTracingDistance
The maximum voxel distance to trace a cone.
Definition RendererCameraSettings.hpp:152
UInt32 bounces
The number of light bounces to propagate.
Definition RendererCameraSettings.hpp:139
bool alwaysInjectRadiance
Always inject radiance.
Definition RendererCameraSettings.hpp:219