Skip to content

Settings and presets

Vladimir edited this page Jun 14, 2021 · 9 revisions

Settings and presets structure

Dirrectory for settings and presets /shaders/glsl/includes/options

Quality settings

.../options/quality_settings subdirectory

all settings are grouped:

  • clouds quality settings (.../quality_settings/clouds directory)
  • reflections quality settings (.../quality_settings/reflections directory)
  • surface quality settings (.../quality_settings/surface directory)
  • other quality settings (.../quality_settings/other directory)

Each option should be defined in separate file named as actual option name with .glsl file type

In this file should be presented only one line containing "#define OPTION_NAME [value]" If value is boolen [0, 1] than [value] stays empty

For example clouds details option should be implemented like this:

File: /shaders/glsl/includes/options/quality_settings/clouds_details.glsl

Contains one line: #define CLOUDS_DETAILS 4.0

File: /shaders/glsl/includes/options/quality_settings/clouds_enabled.glsl

Contains one line: #define CLOUDS_ENABLED (on)

or // #define CLOUDS_ENABLED (off)

Preset settings

../options/preset subdirectory

All settings are grouped into .glsl files

Each file named as a group of settings:

  • clouds
  • lighting
  • fogs
  • surface
  • animation

Each file contains bunch of defines

For example clouds settings should be implemented like this:

File:/shaders/glsl/includes/options/preset/clouds.glsl

Contents:

#define CLOUDS_AMOUNT 0.5

#define CLOUDS_SOFTNESS 1.0

#define CLOUDS_SHADOW_DARKENING 0.25

etc.

Settings and options files are included in shader files where they are needed and defines from them are used instead of hardcoded values