$darkmode
Suckless OGL 1.0.0
A lean, high-performance C11 PBR Renderer
app_settings.h File Reference

Global application constants, configuration macros, and default values. More...

#include <cglm/types.h>
Include dependency graph for app_settings.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define USE_TRANSPARENT_BILLBOARDS
 Enable High Quality Transparent Sphere Rendering. More...
 

Enumerations

enum  { DEFAULT_SAMPLES = 1 }
 Multisample Anti-Aliasing (MSAA) sample count. More...
 
enum  { MIN_SUBDIV = 0 , MAX_SUBDIV = 6 , CUBEMAP_SIZE = 1024 , INITIAL_SUBDIVISIONS = 3 }
 
enum  EnvTransitionMode { ENV_TRANSITION_CROSSFADE = 0 , ENV_TRANSITION_BLACK_SCREEN }
 
enum  TransitionState {
  TRANSITION_IDLE = 0 , TRANSITION_LOADING , TRANSITION_WAIT_IBL , TRANSITION_FADE_OUT ,
  TRANSITION_FADE_IN
}
 States for the environment map transition. More...
 

Variables

static const unsigned int DEFAULT_STENCIL_MASK = 0xFF
 Value for all bits enabled in a stencil mask. More...
 
static const float DEFAULT_CAMERA_DISTANCE
 
static const float DEFAULT_CAMERA_YAW
 
static const float DEFAULT_CAMERA_PITCH
 
static const float DEFAULT_ENV_LOD
 
static const float NEAR_PLANE
 
static const float FAR_PLANE = 1000.0F
 
static const float FOV_ANGLE
 
static const float MIN_CAMERA_DISTANCE
 
static const float MAX_CAMERA_DISTANCE = 50.0F
 
static const float ZOOM_STEP = 0.2F
 
static const float MAX_ENV_LOD
 
static const float MIN_ENV_LOD = 0.0F
 
static const float LOD_STEP
 
static const float LIGHT_DIR_X = 0.5F
 
static const float LIGHT_DIR_Y = 1.0F
 
static const float LIGHT_DIR_Z = 0.3F
 
static const int PREFILTERED_SPECULAR_MAP_SIZE
 
static const int IRIDIANCE_MAP_SIZE
 
static const int BRDF_LUT_MAP_SIZE
 
static const int DEFAULT_SPECULAR_AA_ENABLED
 
static const float DEFAULT_ENV_TRANSITION_DURATION = 0.25F
 
static const int DEFAULT_ENV_TRANSITION_MODE = ENV_TRANSITION_CROSSFADE
 
static const float DEFAULT_CLAMP_MULTIPLIER
 
static const float DEFAULT_METALLIC = 1.0F
 
static const float DEFAULT_ROUGHNESS = 0.0F
 
static const float DEFAULT_AO
 
static const float DEFAULT_EXPOSURE_STEP
 
static const float DEFAULT_MIN_EXPOSURE
 
static const float DEFAULT_AUTO_THRESHOLD
 
static const int LUM_HISTOGRAM_MAP_SIZE
 
static const int LUM_HISTOGRAM_SIZE
 
static const float DEFAULT_FONT_SIZE = 32.0F
 
static const float DEFAULT_FPS_SMOOTHING = 0.95F
 
static const float DEFAULT_FPS_WINDOW = 5.0F
 
static const int DEFAULT_FPS_SAMPLER_SIZE = 200
 
static const float DEFAULT_FPS_TARGET = 60.0F
 
static const float DEFAULT_FONT_SHADOW_OFFSET_X = 2.0F
 
static const float DEFAULT_FONT_SHADOW_OFFSET_Y = 2.0F
 
static const float DEFAULT_FONT_OFFSET_X = 0.0F
 
static const float DEFAULT_FONT_OFFSET_Y = 0.0F
 
static const vec3 DEFAULT_FONT_COLOR = {1.0F, 1.0F, 1.0F}
 
static const vec3 DEFAULT_FONT_SHADOW_COLOR = {0.0F, 0.0F, 0.0F}
 
static const int MAX_FPS_TEXT_LENGTH = 64
 
static const int DEFAULT_COLS = 10
 
static const float DEFAULT_SPACING = 2.5F
 
static const float HALF_OFFSET_MULTIPLIER = 0.5F
 

Detailed Description

Global application constants, configuration macros, and default values.

This header serves as the "Control Panel" for the application. It centralizes:

  • Feature flags (Compile-time logic switches).
  • Render quality settings (MSAA, Resolution).
  • Gameplay/Camera constraints.
  • Physics and Material default values.
  • UI styling conventions.
Note
Including this file does not trigger any heavy dependency. It contains only simple scalar constants and macros.