Archived
1
Fork 0
This repository has been archived on 2025-04-12. You can view files and clone it, but cannot push or open issues or pull requests.
prism/engine/renderer/include/render_options.hpp

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;