소스 검색

Sky/SkyMesh: Remove legacy gamma correction curve. (#32677)

mrdoob 3 일 전
부모
커밋
da18e06036

+ 1 - 4
examples/jsm/objects/Sky.js

@@ -150,7 +150,6 @@ Sky.SkyShader = {
 	fragmentShader: /* glsl */`
 	fragmentShader: /* glsl */`
 		varying vec3 vWorldPosition;
 		varying vec3 vWorldPosition;
 		varying vec3 vSunDirection;
 		varying vec3 vSunDirection;
-		varying float vSunfade;
 		varying vec3 vBetaR;
 		varying vec3 vBetaR;
 		varying vec3 vBetaM;
 		varying vec3 vBetaM;
 		varying float vSunE;
 		varying float vSunE;
@@ -223,9 +222,7 @@ Sky.SkyShader = {
 
 
 			vec3 texColor = ( Lin + L0 ) * 0.04 + vec3( 0.0, 0.0003, 0.00075 );
 			vec3 texColor = ( Lin + L0 ) * 0.04 + vec3( 0.0, 0.0003, 0.00075 );
 
 
-			vec3 retColor = pow( texColor, vec3( 1.0 / ( 1.2 + ( 1.2 * vSunfade ) ) ) );
-
-			gl_FragColor = vec4( retColor, 1.0 );
+			gl_FragColor = vec4( texColor, 1.0 );
 
 
 			#include <tonemapping_fragment>
 			#include <tonemapping_fragment>
 			#include <colorspace_fragment>
 			#include <colorspace_fragment>

+ 2 - 6
examples/jsm/objects/SkyMesh.js

@@ -105,7 +105,6 @@ class SkyMesh extends Mesh {
 
 
 		const vSunDirection = varyingProperty( 'vec3' );
 		const vSunDirection = varyingProperty( 'vec3' );
 		const vSunE = varyingProperty( 'float' );
 		const vSunE = varyingProperty( 'float' );
-		const vSunfade = varyingProperty( 'float' );
 		const vBetaR = varyingProperty( 'vec3' );
 		const vBetaR = varyingProperty( 'vec3' );
 		const vBetaM = varyingProperty( 'vec3' );
 		const vBetaM = varyingProperty( 'vec3' );
 
 
@@ -146,10 +145,9 @@ class SkyMesh extends Mesh {
 			const sunIntensity = EE.mul( max( 0.0, float( 1.0 ).sub( pow( e, cutoffAngle.sub( acos( zenithAngleCos ) ).div( steepness ).negate() ) ) ) );
 			const sunIntensity = EE.mul( max( 0.0, float( 1.0 ).sub( pow( e, cutoffAngle.sub( acos( zenithAngleCos ) ).div( steepness ).negate() ) ) ) );
 			vSunE.assign( sunIntensity );
 			vSunE.assign( sunIntensity );
 
 
-			// varying sun fade
+			// sun fade
 
 
 			const sunfade = float( 1.0 ).sub( clamp( float( 1.0 ).sub( exp( this.sunPosition.y.div( 450000.0 ) ) ), 0, 1 ) );
 			const sunfade = float( 1.0 ).sub( clamp( float( 1.0 ).sub( exp( this.sunPosition.y.div( 450000.0 ) ) ), 0, 1 ) );
-			vSunfade.assign( sunfade );
 
 
 			// varying vBetaR
 			// varying vBetaR
 
 
@@ -234,9 +232,7 @@ class SkyMesh extends Mesh {
 
 
 			const texColor = add( Lin, L0 ).mul( 0.04 ).add( vec3( 0.0, 0.0003, 0.00075 ) );
 			const texColor = add( Lin, L0 ).mul( 0.04 ).add( vec3( 0.0, 0.0003, 0.00075 ) );
 
 
-			const retColor = pow( texColor, vec3( float( 1.0 ).div( float( 1.2 ).add( vSunfade.mul( 1.2 ) ) ) ) );
-
-			return vec4( retColor, 1.0 );
+			return vec4( texColor, 1.0 );
 
 
 		} )();
 		} )();
 
 

BIN
examples/screenshots/webgl_shaders_ocean.jpg


BIN
examples/screenshots/webgl_shaders_sky.jpg


BIN
examples/screenshots/webgpu_ocean.jpg


BIN
examples/screenshots/webgpu_sky.jpg


粤ICP备19079148号