render: expose all params in mie sky shader
parent
2e643e69c3
commit
aa66b03929
|
@ -104,7 +104,7 @@
|
|||
canvas.height = window.innerHeight;
|
||||
|
||||
window.addEventListener('resize', () => {
|
||||
if (canvas.canResize) {
|
||||
if (canvas.canResize && !window.isFullscreen) {
|
||||
canvas.width = window.innerWidth;
|
||||
canvas.height = window.innerHeight;
|
||||
}
|
||||
|
@ -143,7 +143,19 @@
|
|||
} else if (elem.msRequestFullscreen) { /* IE11 */
|
||||
elem.msRequestFullscreen();
|
||||
}
|
||||
|
||||
// window.isFullscreen = 1; /* assume we have entered fullscreen mode. */
|
||||
}
|
||||
|
||||
function exitFullscreen() {
|
||||
if (!document.webkitIsFullScreen && !document.mozFullScreen && !document.msFullscreenElement)
|
||||
window.isFullscreen = 0;
|
||||
}
|
||||
|
||||
// document.addEventListener('fullscreenchange', exitFullscreen, false);
|
||||
// document.addEventListener('mozfullscreenchange', exitFullscreen, false);
|
||||
// document.addEventListener('MSFullscreenChange', exitFullscreen, false);
|
||||
// document.addEventListener('webkitfullscreenchange', exitFullscreen, false);
|
||||
</script>
|
||||
|
||||
<script src="index.worker.coi.min.js"></script>
|
||||
|
|
|
@ -1,4 +1,13 @@
|
|||
uniform vec3 uSunPos;// = vec3( 0, 0.1, -1 ); // = [0, Math.cos(theta) * 0.3 + 0.2, -1];
|
||||
uniform vec3 uSunPos;
|
||||
uniform vec3 uRayOrigin;
|
||||
uniform float uSunIntensity;
|
||||
uniform float uPlanetRadius;
|
||||
uniform float uAtmosphereRadius;
|
||||
uniform vec3 uRayleighScattering;
|
||||
uniform float uMieScattering;
|
||||
uniform float uRayleighScaleHeight;
|
||||
uniform float uMieScaleHeight;
|
||||
uniform float uMiePreferredDirection;
|
||||
|
||||
|
||||
in vec3 v_direction;
|
||||
|
@ -11,16 +20,16 @@ vec3 atmosphere(vec3 r, vec3 r0, vec3 pSun, float iSun, float rPlanet, float rAt
|
|||
void main() {
|
||||
vec3 color = atmosphere(
|
||||
normalize(v_direction), // normalized ray direction
|
||||
vec3(0,6372e3,0), // ray origin
|
||||
uRayOrigin, // ray origin
|
||||
uSunPos, // position of the sun
|
||||
22.0, // intensity of the sun
|
||||
6371e3, // radius of the planet in meters
|
||||
6471e3, // radius of the atmosphere in meters
|
||||
vec3(5.5e-6, 13.0e-6, 22.4e-6), // Rayleigh scattering coefficient
|
||||
21e-6, // Mie scattering coefficient
|
||||
8e3, // Rayleigh scale height
|
||||
1.2e3, // Mie scale height
|
||||
0.758 // Mie preferred scattering direction
|
||||
uSunIntensity, // intensity of the sun
|
||||
uPlanetRadius, // radius of the planet in meters
|
||||
uAtmosphereRadius, // radius of the atmosphere in meters
|
||||
uRayleighScattering, // Rayleigh scattering coefficient
|
||||
uMieScattering, // Mie scattering coefficient
|
||||
uRayleighScaleHeight, // Rayleigh scale height
|
||||
uMieScaleHeight, // Mie scale height
|
||||
uMiePreferredDirection // Mie preferred scattering direction
|
||||
);
|
||||
|
||||
// Apply exposure.
|
||||
|
|
|
@ -341713,6 +341713,15 @@ skybox_t skybox(const char *asset, int flags) {
|
|||
// set up mie defaults
|
||||
shader_bind(sky.program);
|
||||
shader_vec3("uSunPos", vec3( 0, 0.1, -1 ));
|
||||
shader_vec3("uRayOrigin", vec3(0.0, 6372000.0, 0.0));
|
||||
shader_float("uSunIntensity", 22.0);
|
||||
shader_float("uPlanetRadius", 6371000.0);
|
||||
shader_float("uAtmosphereRadius", 6471000.0);
|
||||
shader_vec3("uRayleighScattering", vec3(5.5e-6, 13.0e-6, 22.4e-6));
|
||||
shader_float("uMieScattering", 21e-6);
|
||||
shader_float("uRayleighScaleHeight", 8000.0);
|
||||
shader_float("uMieScaleHeight", 1200.0);
|
||||
shader_float("uMiePreferredDirection", 0.758);
|
||||
}
|
||||
|
||||
return sky;
|
||||
|
|
|
@ -2399,6 +2399,15 @@ skybox_t skybox(const char *asset, int flags) {
|
|||
// set up mie defaults
|
||||
shader_bind(sky.program);
|
||||
shader_vec3("uSunPos", vec3( 0, 0.1, -1 ));
|
||||
shader_vec3("uRayOrigin", vec3(0.0, 6372000.0, 0.0));
|
||||
shader_float("uSunIntensity", 22.0);
|
||||
shader_float("uPlanetRadius", 6371000.0);
|
||||
shader_float("uAtmosphereRadius", 6471000.0);
|
||||
shader_vec3("uRayleighScattering", vec3(5.5e-6, 13.0e-6, 22.4e-6));
|
||||
shader_float("uMieScattering", 21e-6);
|
||||
shader_float("uRayleighScaleHeight", 8000.0);
|
||||
shader_float("uMieScaleHeight", 1200.0);
|
||||
shader_float("uMiePreferredDirection", 0.758);
|
||||
}
|
||||
|
||||
return sky;
|
||||
|
|
|
@ -12623,6 +12623,15 @@ skybox_t skybox(const char *asset, int flags) {
|
|||
// set up mie defaults
|
||||
shader_bind(sky.program);
|
||||
shader_vec3("uSunPos", vec3( 0, 0.1, -1 ));
|
||||
shader_vec3("uRayOrigin", vec3(0.0, 6372000.0, 0.0));
|
||||
shader_float("uSunIntensity", 22.0);
|
||||
shader_float("uPlanetRadius", 6371000.0);
|
||||
shader_float("uAtmosphereRadius", 6471000.0);
|
||||
shader_vec3("uRayleighScattering", vec3(5.5e-6, 13.0e-6, 22.4e-6));
|
||||
shader_float("uMieScattering", 21e-6);
|
||||
shader_float("uRayleighScaleHeight", 8000.0);
|
||||
shader_float("uMieScaleHeight", 1200.0);
|
||||
shader_float("uMiePreferredDirection", 0.758);
|
||||
}
|
||||
|
||||
return sky;
|
||||
|
|
Loading…
Reference in New Issue