48 lines
1 KiB
C++
Executable file
48 lines
1 KiB
C++
Executable file
#pragma once
|
|
|
|
constexpr int brdf_resolution = 512;
|
|
|
|
enum class ShadowFilter {
|
|
None,
|
|
PCF,
|
|
PCSS
|
|
};
|
|
|
|
enum class DisplayColorSpace {
|
|
Linear = 0,
|
|
SRGB = 1,
|
|
};
|
|
|
|
enum class TonemapOperator {
|
|
Linear = 0,
|
|
ExposureBased = 1,
|
|
AutoExposure = 2
|
|
};
|
|
|
|
struct RenderOptions {
|
|
DisplayColorSpace display_color_space = DisplayColorSpace::SRGB;
|
|
TonemapOperator tonemapping = TonemapOperator::Linear;
|
|
float exposure = 1.0f;
|
|
|
|
float min_luminance = -8.0f;
|
|
float max_luminance = 3.0f;
|
|
|
|
bool enable_depth_of_field = false;
|
|
float depth_of_field_strength = 3.0f;
|
|
|
|
bool dynamic_resolution = false;
|
|
double render_scale = 1.0f;
|
|
|
|
int shadow_resolution = 2048;
|
|
|
|
bool enable_aa = true;
|
|
bool enable_ibl = true;
|
|
bool enable_normal_mapping = true;
|
|
bool enable_normal_shadowing = false;
|
|
bool enable_point_shadows = true;
|
|
ShadowFilter shadow_filter = ShadowFilter::PCSS;
|
|
bool enable_extra_passes = true;
|
|
bool enable_frustum_culling = true;
|
|
};
|
|
|
|
inline RenderOptions render_options;
|