#ifndef _VPGISETUP_H
#define _VPGISETUP_H

enum
{
	// --- Groups
	GI_GROUP_MAIN					= 100,
	GI_GROUP_GENERAL				= 200,
	GI_GROUP_SKY					= 300,
	GI_GROUP_QMC					= 400,
	GI_GROUP_IRRADIANCE				= 500,
	GI_GROUP_IRRADIANCE_CACHES			= 600,

	// --- Main
	GI_SETUP_DATA_UI_MODE				= 1000,

	// --- Animation
	GI_SETUP_DATA_ANIMATION_METHOD			= 1100,
	GI_SETUP_DATA_ANIMATION_DETECTION_COMBO,
	GI_SETUP_DATA_ANIMATION_DETECTION_VALUE,
	GI_SETUP_DATA_ANIMATION_DETECTION_STATIC,
	GI_SETUP_DATA_ANIMATION_INTERPOLATION_COMBO,
	GI_SETUP_DATA_ANIMATION_INTERPOLATION_VALUE,
	GI_SETUP_DATA_ANIMATION_INTERPOLATION_STATIC,
	GI_SETUP_DATA_ANIMATION_QMC_ENABLE,
	GI_SETUP_DATA_ANIMATION_QMC_VALUE,
	GI_SETUP_DATA_ANIMATION_QMC_STATIC,
	GI_SETUP_DATA_ANIMATION_DIVIDER_1,
	GI_SETUP_DATA_ANIMATION_DIVIDER_2,
	GI_SETUP_DATA_ANIMATION_DIVIDER_3,

	// --- Depth and Methods
	GI_SETUP_DATA_DIFFUSE_DEPTH			= 1200,
	GI_SETUP_DATA_DIFFUSE_STATIC,
	GI_SETUP_DATA_PRIMARY_METHOD,
 	GI_SETUP_DATA_PRIMARY_INTENSITY,
	GI_SETUP_DATA_PRIMARY_STATIC,
 	GI_SETUP_DATA_SECONDARY_METHOD,
	GI_SETUP_DATA_SECONDARY_INTENSITY,
	GI_SETUP_DATA_SECONDARY_STATIC,

	// --- Gamma Correction
	GI_SETUP_DATA_GAMMA_METHOD			= 1300,
	GI_SETUP_DATA_GAMMA_VALUE,
	GI_SETUP_DATA_GAMMA_STATIC,

	// --- Extra
	GI_SETUP_DATA_EXTRA_DEBUG_LEVEL			= 1400,
	GI_SETUP_DATA_EXTRA_DIFFUSE_ONLY,
	GI_SETUP_DATA_EXTRA_HIDE_PREPASS,
	GI_SETUP_DATA_EXTRA_REFLECTIVECAUSTICS,
	GI_SETUP_DATA_EXTRA_REFRACTIVECAUSTICS,
	GI_SETUP_DATA_EXTRA_NON_DIFFUSE_CUTOFF,
	GI_SETUP_DATA_EXTRA_STATIC_1,
	GI_SETUP_DATA_EXTRA_STATIC_2,
	GI_SETUP_DATA_EXTRA_STATIC_3,
	GI_SETUP_DATA_EXTRA_STATIC_4,
	GI_SETUP_DATA_EXTRA_STATIC_5,
	GI_SETUP_DATA_EXTRA_STATIC_6,

	// --- QMC
 	GI_SETUP_DATA_QMC_COUNT				= 2000,
	// ---
	GI_SETUP_DATA_QMC_CACHE_ENABLED			= 2100,
	GI_SETUP_DATA_QMC_CACHE_SIZE,
	// ---
	GI_SETUP_DATA_QMC_OVERSAMPLING_METHOD 		= 2200,
	GI_SETUP_DATA_QMC_OVERSAMPLING_RATIO,

	// --- Irradiance Cache
	GI_SETUP_DATA_IR_COUNT_METHOD			= 3000,
	GI_SETUP_DATA_IR_COUNT_THRESHOLD,
	GI_SETUP_DATA_IR_COUNT_USER,

	// ---
	GI_SETUP_DATA_IR_DENSITY_QUALITY		= 3200,
	GI_SETUP_DATA_IR_DENSITY_RADIUS_MAX		= 3220,
	GI_SETUP_DATA_IR_DENSITY_RADIUS_MIN,
	GI_SETUP_DATA_IR_DENSITY_CONTROL,
	GI_SETUP_DATA_IR_DENSITY_RATE_MIN		= 3204,
	GI_SETUP_DATA_IR_DENSITY_RATE_MAX,
	GI_SETUP_DATA_IR_DENSITY_PROXIMITY,
	GI_SETUP_DATA_IR_DENSITY_STATIC_1,
	GI_SETUP_DATA_IR_DENSITY_STATIC_2,
	GI_SETUP_DATA_IR_DENSITY_STATIC_3,
	GI_SETUP_DATA_IR_DENSITY_STATIC_4,
	GI_SETUP_DATA_IR_DENSITY_STATIC_5,
	GI_SETUP_DATA_IR_DENSITY_DIVIDER_1,
	GI_SETUP_DATA_IR_DENSITY_DIVIDER_2,

	// ---
	GI_SETUP_DATA_IR_COLOR_QUALITY			= 3300,
	GI_SETUP_DATA_IR_COLOR_PASSES,
	GI_SETUP_DATA_IR_COLOR_THRESHOLD,
	GI_SETUP_DATA_IR_COLOR_COOEF,
	GI_SETUP_DATA_IR_COLOR_CUTOFF,
	GI_SETUP_DATA_IR_COLOR_STATIC_1,
	GI_SETUP_DATA_IR_COLOR_STATIC_2,
	GI_SETUP_DATA_IR_COLOR_STATIC_3,
	GI_SETUP_DATA_IR_COLOR_STATIC_4,
	GI_SETUP_DATA_IR_COLOR_STATIC_5,
	GI_SETUP_DATA_IR_COLOR_DIVIDER_1,
	GI_SETUP_DATA_IR_COLOR_DIVIDER_2,

	// ---
	GI_SETUP_DATA_IR_INTERPOLATION_METHOD		= 3400,
	GI_SETUP_DATA_IR_INTERPOLATION_SMOOTHING,
 	GI_SETUP_DATA_IR_INTERPOLATION_MAX_SAMPLES,
	GI_SETUP_DATA_IR_INTERPOLATION_MAX_RADIUS_SCALE,
	GI_SETUP_DATA_IR_INTERPOLATION_DT_SHOW_EDGES,
	GI_SETUP_DATA_IR_INTERPOLATION_STATIC_1,
	GI_SETUP_DATA_IR_INTERPOLATION_STATIC_2,
	GI_SETUP_DATA_IR_INTERPOLATION_STATIC_3,
	GI_SETUP_DATA_IR_INTERPOLATION_STATIC_4,
	GI_SETUP_DATA_IR_INTERPOLATION_STATIC_5,
	GI_SETUP_DATA_IR_INTERPOLATION_DIVIDER_1,
	GI_SETUP_DATA_IR_INTERPOLATION_DIVIDER_2,

	// ---
	GI_SETUP_DATA_IR_OVERSAMPLING_METHOD 		= 3500,
	GI_SETUP_DATA_IR_OVERSAMPLING_RATIO,
	GI_SETUP_DATA_IR_OVERSAMPLING_ONLY,
	GI_SETUP_DATA_IR_OVERSAMPLING_STATIC_1,
	GI_SETUP_DATA_IR_OVERSAMPLING_DIVIDER_1,
	GI_SETUP_DATA_IR_OVERSAMPLING_DIVIDER_2,

	// ---
	GI_SETUP_DATA_IR_DISTANCE_MAP_ENABLED		= 3600,
	GI_SETUP_DATA_IR_DISTANCE_MAP_STATIC,

	// --- 
	GI_SETUP_DATA_IR_VISIBILITY_CHECK_ENABLED	= 3900,
	GI_SETUP_DATA_IR_VISIBILITY_CHECK_STATIC,

	// ---
	GI_SETUP_DATA_IR_DETAILS_ENABLE			= 3700,
	GI_SETUP_DATA_IR_DETAILS_RADIUS,
	GI_SETUP_DATA_IR_DETAILS_RATIO,
	GI_SETUP_DATA_IR_DETAILS_ADAPTIVE,
	GI_SETUP_DATA_IR_DETAILS_MODE,
	GI_SETUP_DATA_IR_DETAILS_ESTIMATE,
	GI_SETUP_DATA_IR_DETAILS_STATIC_1,
	GI_SETUP_DATA_IR_DETAILS_STATIC_2,
	GI_SETUP_DATA_IR_DETAILS_STATIC_3,
	GI_SETUP_DATA_IR_DETAILS_STATIC_4,
	GI_SETUP_DATA_IR_DETAILS_STATIC_5,
	GI_SETUP_DATA_IR_DETAILS_DIVIDER_1,
	GI_SETUP_DATA_IR_DETAILS_DIVIDER_2,

	// --- Irradiance Cache Files
	GI_SETUP_DATA_CACHE_FLUSH			= 3800,
	GI_SETUP_DATA_CACHE_FLUSH_QANIMATION,
	GI_SETUP_DATA_CACHE_LOCK,
	GI_SETUP_DATA_CACHE_AUTOLOAD,
	GI_SETUP_DATA_CACHE_AUTOSAVE,
	GI_SETUP_DATA_CACHE_SIZE_DIVIDER,
	GI_SETUP_DATA_CACHE_SIZE_RECORDS,
	GI_SETUP_DATA_CACHE_SIZE_MEMORY,
	GI_SETUP_DATA_CACHE_CUSTOM_DIVIDER,
	GI_SETUP_DATA_CACHE_CUSTOM_PATH_ENABLED,
	GI_SETUP_DATA_CACHE_CUSTOM_PATH,
	GI_SETUP_DATA_CACHE_STATIC_1,
	GI_SETUP_DATA_CACHE_STATIC_2,
	GI_SETUP_DATA_CACHE_STATIC_3,
	GI_SETUP_DATA_CACHE_STATIC_4,
	GI_SETUP_DATA_CACHE_STATIC_5,
	GI_SETUP_DATA_CACHE_PREPASS,

	// --- Sky Samples
	GI_SETUP_DATA_SKY_SAMPLES			= 4000,

	// --- Combo Values
	GI_SETUP_MODE_BEGGINER				= 6000,
	GI_SETUP_MODE_INTERMEDIATE,
	GI_SETUP_MODE_ADVANCED,

	// ---
	GI_SETUP_MASTER_MODE_IC_IC			= 6010,
	GI_SETUP_MASTER_MODE_IC_IC_CAMERA,
	GI_SETUP_MASTER_MODE_IC_QMC_FULL,
	GI_SETUP_MASTER_MODE_IC_QMC_FULL_NET,
	GI_SETUP_MASTER_MODE_IC_QMC,
	GI_SETUP_MASTER_MODE_IC_QMC_CAMERA,
	GI_SETUP_MASTER_MODE_QMC,
	GI_SETUP_MASTER_MODE_SKY,

	// ---
	GI_SETUP_ANIMATION_DETECTION_LOW		= 6020,
	GI_SETUP_ANIMATION_DETECTION_NORMAL,
	GI_SETUP_ANIMATION_DETECTION_HIGH,
	GI_SETUP_ANIMATION_DETECTION_CUSTOM,

	// ---
	GI_SETUP_ANIMATION_INTERPOLATION_LOW		= 6030,
	GI_SETUP_ANIMATION_INTERPOLATION_NORMAL,
	GI_SETUP_ANIMATION_INTERPOLATION_HIGH,
	GI_SETUP_ANIMATION_INTERPOLATION_CUSTOM,

	// ---
 	GI_SETUP_METHOD_QMC				= 6040,
 	GI_SETUP_METHOD_IRRADIANCE_CACHE,
 	GI_SETUP_METHOD_SKY_SAMPLER,

	// ---
	GI_SETUP_GAMMA_NONE				= 6050,
	GI_SETUP_GAMMA_FINAL,
	GI_SETUP_GAMMA_RECORD,

	// ---
	GI_SETUP_COUNT_USER				= 6060,
	GI_SETUP_COUNT_CUSTOM,
	GI_SETUP_COUNT_LOW,
	GI_SETUP_COUNT_MEDIUM,
	GI_SETUP_COUNT_HIGH,

	// ---
	GI_SETUP_QUALITY_CUSTOM				= 6070,
	GI_SETUP_QUALITY_LOW,
	GI_SETUP_QUALITY_MEDIUM,
	GI_SETUP_QUALITY_HIGH,
	GI_SETUP_QUALITY_HIGH_DETAILS,
	GI_SETUP_QUALITY_DLOW,
	GI_SETUP_QUALITY_DMEDIUM,
	GI_SETUP_QUALITY_DHIGH,
	GI_SETUP_QUALITY_PREVIEW,

	// ---
	GI_SETUP_COLOR_CUSTOM				= 6080,
	GI_SETUP_COLOR_NONE,
	GI_SETUP_COLOR_LOW,
	GI_SETUP_COLOR_MEDIUM,
	GI_SETUP_COLOR_HIGH,
	GI_SETUP_COLOR_VERY_HIGH,

	// ---
	GI_SETUP_DETAILS_COMBINE			= 6090,
	GI_SETUP_DETAILS_DETAILS,
	GI_SETUP_DETAILS_GLOBAL,

	// ---
	GI_SETUP_SMOOTHING_CUSTOM			= 6100,
	GI_SETUP_SMOOTHING_MINIMAL,
	GI_SETUP_SMOOTHING_WEAK,
	GI_SETUP_SMOOTHING_MEDIUM,
	GI_SETUP_SMOOTHING_HEAVY,
	GI_SETUP_SMOOTHING_VERY_HEAVY,

	// ---
	GI_SETUP_XSAMPLING_CUSTOM			= 6110,
	GI_SETUP_XSAMPLING_NONE,
	GI_SETUP_XSAMPLING_MINIMAL,
	GI_SETUP_XSAMPLING_WEAK,
	GI_SETUP_XSAMPLING_MEDIUM,
	GI_SETUP_XSAMPLING_HEAVY,
	GI_SETUP_XSAMPLING_VERY_HEAVY,

	// ---
	GI_SETUP_INTERPOLATION_LEAST_SQUARES		= 6120,
	GI_SETUP_INTERPOLATION_D_TRIANGULATION,
	GI_SETUP_INTERPOLATION_NONE,
	GI_SETUP_INTERPOLATION_WEIGHTED,

	// ---
	GI_SETUP_DEBUG_NONE				= 6130,
	GI_SETUP_DEBUG_MINIMAL,
	GI_SETUP_DEBUG_COMPLETE,

	// ---
	GI_SETUP_DATA_ENHANCED    			= 6140,
	
	// ---
	GI_SETUP_DATA_DUMMY
};

#endif
