#ifndef ATMOSPHERE_CONSTANTS
#define ATMOSPHERE_CONSTANTS



float4	x2m_SunDirSize;
float4	x2m_MoonDirSize;
// 
float planetRadiusKm;
float atmosphereThicknessKm;
float minOutputAltKm;
float maxOutputAltKm;
float maxDistanceKm;
float maxFadeDistanceKm;
float3 mieRayleighRatio;
float3 rayleigh;
float3 hazeMie;
float3 ozone;
float emissivity;
float mieScaleHeightKm;
float mieBaseHeightKm;
float3 sunIrradiance;
float hazeEccentricity;
float altitudeTexCoord;

float3 zenith;
float3 horizon;
float blendToColours;

float radiusRadians;

float moonRadiusRadians;
float3 moonIrradianceFactor;
float3 directionToMoon;
float4 moonColor;
float3 moonLightSrcDir;
float moonBrightnessContrast;

float3 starlight;
float starBrightness;
float backgourdBrightness;

float sunBrightness;


TEXTURE2D(loss_texture);		SAMPLER(sampler_loss_texture);
TEXTURE2D(density_texture);		SAMPLER(sampler_density_texture);
TEXTURE2D(optical_depth_texture);		SAMPLER(sampler_optical_depth_texture);
TEXTURE2D(blackbody_texture);	SAMPLER(sampler_blackbody_texture);
TEXTURE2D(insc_texture);		SAMPLER(sampler_insc_texture);
TEXTURE2D(loss_2d_texture);		SAMPLER(sampler_loss_2d_texture);
TEXTURE2D(insc_2d_texture);		SAMPLER(sampler_insc_2d_texture);
TEXTURE2D(skyl_2d_texture);		SAMPLER(sampler_skyl_2d_texture);

#define NUM_ALTITUDES	(4.0)
#define NUM_ELEVATIONS	(32.0)
#define NUM_DISTANCES	(32.0)
#define DENSITY_TABLE_SIZE (64.0)
#define RAYLEIGH_SCALE_HEIGHT_KM (8)
#define RAYLEIGH_BETA_FACTOR (0.0596831)

const static float maxDensityAltKm = 100.0;
const static float glowRadiusMultiple = 4.0;
const static float moonGlowRadiusMultiple = 1.0;
const static float glowBrightness = 1.0;

#endif // ATMOSPHERE_CONSTANTS