//////////////////////////////////////////////////////////////
////////////////// TOGGLE FEATURES ///////////////////////////
//////////////////////////////////////////////////////////////
/************************************

disable of the features by giving two slashes

example
this is enabled
#define ENABLE_DYNAMIC_LIGHT_ANGLE

this is disabled
//#define ENABLE_DYNAMIC_LIGHT_ANGLE

**************************************/

#define ENABLE_DYNAMIC_LIGHT_ANGLE
#define ENABLE_CLOUD
#define ENABLE_REFLECTION
#define ENABLE_PARALLAX
#define ENABLE_PARALLAX_SHADOW

//////////////////////////////////////////////////////////////
///////////////// ADJUSTABLE VARIABLE ////////////////////////
/////////////// DONT DISABLE ANYTHING !! /////////////////////

// adjust how fast time passes
#define DYNAMIC_LIGHT_ANGLE_SPEED 0.005

// set the static light angle with range 0 - 360 (degrees)
// will affected when disabling DYNAMIC_LIGHT_ANGLE
// 0 - 180 is full daytime and 180 - 360 is full night time
#define SUN_LIGHT_ANGLE 90.0

// rotation of the sun in z direction
#define SUN_PATH_ROTATION -40.0

// adjust sky color
#define SKY_COEFF_R 0.025
#define SKY_COEFF_G 0.043
#define SKY_COEFF_B 0.1
#define SKY_NIGHT_SATURATION 0.6
#define SKY_MIE_COEFF 0.005
#define SKY_MIE_G 0.75

// set the cloud height in meters/block
#define CLOUD_HEIGHT 1000.0

// set the cloud thickness in meters
#define CLOUD_THICKNESS 160.0

// cloud steps (voxel), this is the main value of quality. bigger is better, smaller will be more dither
#define CLOUD_STEPS 8

// cloud light steps, affected on the thickness of light absorbed by cloud
#define CLOUD_LIGHT_STEPS 10

// value of cloud brightness in the area near sun
#define CLOUD_MIE_STRENGTH 0.3

// light scatter of cloud from the area near sun
#define CLOUD_MIE_DIRECTIONAL_G 0.7

// set the glow color of the glowing block
#define BLOCK_LIGHT_C_R 1.0
#define BLOCK_LIGHT_C_G 0.45
#define BLOCK_LIGHT_C_B 0.0

// set the number of layers for parallax mapping
#define PARALLAX_STEP 16

// set the depth of the step parallax mapping
// if the value is too high, it will cause the visible distance of each layer
// to fix it increase the parallax step but it will greatly affect the performance
#define PARALLAX_DEPTH 0.00005

// set the number of layers for parallax mapping
#define PSHADOW_STEP 10

// the explanation is almost the same as step parallax
#define PSHADOW_OFFSET 0.0001

// misc
#define SATURATION 1.1
#define EXPOSURE_MULTIPLICATION 1.0

///////////////////////////////////////////////////////////////
////////////// END OF ADJUSTABLE VARIABLE /////////////////////
///////////////////////////////////////////////////////////////
