Suckless OGL 1.0.0
A lean, high-performance C11 PBR Renderer
Loading...
Searching...
No Matches
app_settings.h
Go to the documentation of this file.
1
18#ifndef APP_SETTINGS_H
19#define APP_SETTINGS_H
20
21#include <cglm/types.h>
22#include <stdbool.h>
23
42enum { DEFAULT_SAMPLES = 1 };
43
47static const unsigned int DEFAULT_STENCIL_MASK = 0xFF;
48
66#define USE_TRANSPARENT_BILLBOARDS
67
75enum {
89};
90
99/* Starting State */
100static const float DEFAULT_CAMERA_DISTANCE =
101 20.0F;
102static const float DEFAULT_CAMERA_YAW =
103 -90.0F;
104static const float DEFAULT_CAMERA_PITCH =
105 0.0F;
106static const float DEFAULT_ENV_LOD =
107 0.0F;
109/* Projection Matrix */
110static const float NEAR_PLANE =
111 0.1F;
112static const float FAR_PLANE = 1000.0F;
114static const float FOV_ANGLE =
115 60.0F;
117/* Gameplay Constraints */
118static const float MIN_CAMERA_DISTANCE =
119 1.5F;
120static const float MAX_CAMERA_DISTANCE = 50.0F;
121static const float ZOOM_STEP = 0.2F;
130/* LOD Controls */
131static const float MAX_ENV_LOD =
132 10.0F;
133static const float MIN_ENV_LOD = 0.0F;
134static const float LOD_STEP =
135 0.5F;
137/* Directional Light (Sun) - Currently static */
138static const float LIGHT_DIR_X = 0.5F;
139static const float LIGHT_DIR_Y = 1.0F;
140static const float LIGHT_DIR_Z = 0.3F;
141
142/* IBL Map Resolutions (See progressive_ibl.md) */
144 1024;
145static const int IRIDIANCE_MAP_SIZE =
146 64;
147static const int BRDF_LUT_MAP_SIZE =
148 512;
150 true;
152/* Environment Transition Mode */
157
169
170static const float DEFAULT_ENV_TRANSITION_DURATION = 0.25F;
179static const float DEFAULT_CLAMP_MULTIPLIER =
180 3.0F;
181static const float DEFAULT_METALLIC = 1.0F;
182static const float DEFAULT_ROUGHNESS = 0.0F;
183static const float DEFAULT_AO =
184 1.0F;
192static const float DEFAULT_EXPOSURE_STEP =
193 0.1F;
194static const float DEFAULT_MIN_EXPOSURE =
195 0.1F;
196static const float DEFAULT_AUTO_THRESHOLD =
197 5.0F;
205static const int LUM_HISTOGRAM_MAP_SIZE =
206 64;
207static const int LUM_HISTOGRAM_SIZE =
208 64 * 64;
216static const float DEFAULT_FONT_SIZE = 32.0F;
217static const float DEFAULT_FPS_SMOOTHING = 0.95F;
218static const float DEFAULT_FPS_WINDOW = 5.0F;
219static const int DEFAULT_FPS_SAMPLER_SIZE = 200;
220static const float DEFAULT_FPS_TARGET = 60.0F;
221
222static const float DEFAULT_FONT_SHADOW_OFFSET_X = 2.0F;
223static const float DEFAULT_FONT_SHADOW_OFFSET_Y = 2.0F;
224static const float DEFAULT_FONT_OFFSET_X = 0.0F;
225static const float DEFAULT_FONT_OFFSET_Y = 0.0F;
226static const vec3 DEFAULT_FONT_COLOR = {1.0F, 1.0F, 1.0F};
227static const vec3 DEFAULT_FONT_SHADOW_COLOR = {0.0F, 0.0F, 0.0F};
228static const int MAX_FPS_TEXT_LENGTH = 64;
229
230/* Instancing Grid Layout (Scene generation) */
231static const int DEFAULT_COLS = 10;
232static const float DEFAULT_SPACING = 2.5F;
233static const float HALF_OFFSET_MULTIPLIER = 0.5F;
236#endif /* APP_SETTINGS_H */
static const float DEFAULT_CAMERA_DISTANCE
Definition app_settings.h:100
static const float DEFAULT_ENV_LOD
Definition app_settings.h:106
static const float FAR_PLANE
Definition app_settings.h:112
static const float MIN_CAMERA_DISTANCE
Definition app_settings.h:118
static const float MAX_CAMERA_DISTANCE
Definition app_settings.h:120
static const float DEFAULT_CAMERA_YAW
Definition app_settings.h:102
static const float ZOOM_STEP
Definition app_settings.h:121
static const float FOV_ANGLE
Definition app_settings.h:114
static const float NEAR_PLANE
Definition app_settings.h:110
static const float DEFAULT_CAMERA_PITCH
Definition app_settings.h:104
static const float LIGHT_DIR_Y
Definition app_settings.h:139
TransitionState
States for the environment map transition.
Definition app_settings.h:162
static const float DEFAULT_ENV_TRANSITION_DURATION
Definition app_settings.h:170
static const int IRIDIANCE_MAP_SIZE
Definition app_settings.h:145
static const float LIGHT_DIR_Z
Definition app_settings.h:140
static const int BRDF_LUT_MAP_SIZE
Definition app_settings.h:147
static const float MAX_ENV_LOD
Definition app_settings.h:131
EnvTransitionMode
Definition app_settings.h:153
static const bool DEFAULT_SPECULAR_AA_ENABLED
Definition app_settings.h:149
static const float LOD_STEP
Definition app_settings.h:134
static const int PREFILTERED_SPECULAR_MAP_SIZE
Definition app_settings.h:143
static const float MIN_ENV_LOD
Definition app_settings.h:133
static const float LIGHT_DIR_X
Definition app_settings.h:138
static const int DEFAULT_ENV_TRANSITION_MODE
Definition app_settings.h:171
@ TRANSITION_IDLE
Definition app_settings.h:163
@ TRANSITION_LOADING
Definition app_settings.h:164
@ TRANSITION_WAIT_IBL
Definition app_settings.h:165
@ TRANSITION_FADE_IN
Definition app_settings.h:167
@ TRANSITION_FADE_OUT
Definition app_settings.h:166
@ ENV_TRANSITION_CROSSFADE
Definition app_settings.h:154
@ ENV_TRANSITION_BLACK_SCREEN
Definition app_settings.h:155
@ CUBEMAP_SIZE
Definition app_settings.h:86
@ INITIAL_SUBDIVISIONS
Definition app_settings.h:88
@ MIN_SUBDIV
Definition app_settings.h:78
@ MAX_SUBDIV
Definition app_settings.h:81
static const int LUM_HISTOGRAM_MAP_SIZE
Definition app_settings.h:205
static const int LUM_HISTOGRAM_SIZE
Definition app_settings.h:207
static const float DEFAULT_ROUGHNESS
Definition app_settings.h:182
static const float DEFAULT_AO
Definition app_settings.h:183
static const float DEFAULT_METALLIC
Definition app_settings.h:181
static const float DEFAULT_CLAMP_MULTIPLIER
Definition app_settings.h:179
static const float DEFAULT_EXPOSURE_STEP
Definition app_settings.h:192
static const float DEFAULT_MIN_EXPOSURE
Definition app_settings.h:194
static const float DEFAULT_AUTO_THRESHOLD
Definition app_settings.h:196
static const unsigned int DEFAULT_STENCIL_MASK
Value for all bits enabled in a stencil mask.
Definition app_settings.h:47
@ DEFAULT_SAMPLES
Definition app_settings.h:42
static const float DEFAULT_FONT_OFFSET_X
Definition app_settings.h:224
static const float HALF_OFFSET_MULTIPLIER
Definition app_settings.h:233
static const int DEFAULT_FPS_SAMPLER_SIZE
Definition app_settings.h:219
static const float DEFAULT_FONT_SIZE
Definition app_settings.h:216
static const float DEFAULT_FPS_TARGET
Definition app_settings.h:220
static const int MAX_FPS_TEXT_LENGTH
Definition app_settings.h:228
static const int DEFAULT_COLS
Definition app_settings.h:231
static const float DEFAULT_FONT_SHADOW_OFFSET_Y
Definition app_settings.h:223
static const float DEFAULT_FONT_SHADOW_OFFSET_X
Definition app_settings.h:222
static const vec3 DEFAULT_FONT_SHADOW_COLOR
Definition app_settings.h:227
static const float DEFAULT_FPS_WINDOW
Definition app_settings.h:218
static const float DEFAULT_FONT_OFFSET_Y
Definition app_settings.h:225
static const float DEFAULT_SPACING
Definition app_settings.h:232
static const vec3 DEFAULT_FONT_COLOR
Definition app_settings.h:226
static const float DEFAULT_FPS_SMOOTHING
Definition app_settings.h:217