const float airNumDensity       = 2.5035422e25; // m^3
const float ozonePeak = 8e-6; // unitless
const float ozoneNumDensity     = airNumDensity * exp(-35e3 / 8e3) * ozonePeak; // m^3 | airNumberDensity ASL * relative density at altitude of peak ozone concentration * peak ozone concentration
const vec3  ozoneCrossSec      = vec3(4.51103766177301e-21, 3.2854797958699e-21, 1.96774621921165e-22) * 0.0001; // cm^2 -> m^2 | single-wavelength values.

const vec3 rayleighCoeff = vec3(0.00000519673, 0.0000121427, 0.0000296453);
vec3 mieCoeff      = vec3(8.6e-6)*(5.0 + wetness*15.0);
const vec3 ozoneCoeff    = ozoneCrossSec*ozoneNumDensity;//vec3(3.26768136e-7, 3.14953105e-7, 5.43182681e-8) * 2.0;

const vec2 scaleHeights = vec2(8500.0, 1200.0);
const vec2 rScaleHeights = rcp(scaleHeights);

const float mieg = 0.85;

const float planetRadius = 6371e3;
const float atmosHeight  = 110e3;
const float atmosLowerLimit = planetRadius - 2e3;

const vec3 atmosCamPos = vec3(0.0, planetRadius+10, 0.0);

mat2x3 atmosScatterMat    = mat2x3(rayleighCoeff, mieCoeff);
mat3x3 atmosExtinctionMat = mat3x3(rayleighCoeff, mieCoeff * 1.11, ozoneCoeff);