#define PROBABILISTIC_PATH_TERMINATION //Terminates the path if it has a low probability to continue bouncing.
#define RUSSIAN_ROULETTE_RENDERING //Terminates the path if it has low throughput as then it will have a low contribution to the scene.

#define RAYTRACE_MAX_T -1

#define OCTREE_LEVELS 8 //[2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]

#define CONE_OVERLAP_SIMULATION 0.2

#define MAX_BSDF_SCATTERING_EVENTS 1 //[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20] 
#define MAX_BOUNCES 4 //[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 128]

//#define ALBEDO_TINT
//#define LAB_EMISSIVES

#define LAB_PBR_13 //Disable this to work better with old PBR packs.

#define DISPLAY 0 //[0 1 2]

//#define DEBUG
#define DEBUG_PATH 1 //[0 1]
#define DEBUG_BOUNCE 0 //[0 1 2]
//#define DISABLE_AO
#define DEBUG_AO_PATH

//#define HEMISPHERE_INTEGRATION //Turning this on improves accuracy by a bit at the cost of performance.

//#define CELESTIAL_PATH_ROUGHNESS_BOUNCE_INCREASE //This setting increases the roughness per bounce in order to fix fireflies happening due to overly smooth and reflective materials. It causes some energy loss, so I recommend only turning this on if you don't want to wait for hours.

//#define WHITE_WORLD //This disables the albedo of the first bounce.

#define PARALLAX_DEPTH 0.1 //[0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0]

#define PARALLAX_QUALITY 32 //[32 64 128 256 512 1024]

#define CELESTIAL_BOUNCE_PROBABILITY 0.2 //[0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0]
#define MOON_BOUNCE_PROBABILITY 0.5 //[0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0]

//#define PARALLAX_MAPPING