Settings and presets - jebbyk/OSBES-minecraft-bedrock-edition-shader GitHub Wiki
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