添加关照、全局等高线、修改图层问题
This commit is contained in:
		
							
								
								
									
										85
									
								
								static/sdk/three/jsm/shaders/OutputShader.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								static/sdk/three/jsm/shaders/OutputShader.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,85 @@ | ||||
| const OutputShader = { | ||||
|  | ||||
| 	name: 'OutputShader', | ||||
|  | ||||
| 	uniforms: { | ||||
|  | ||||
| 		'tDiffuse': { value: null }, | ||||
| 		'toneMappingExposure': { value: 1 } | ||||
|  | ||||
| 	}, | ||||
|  | ||||
| 	vertexShader: /* glsl */` | ||||
| 		precision highp float; | ||||
|  | ||||
| 		uniform mat4 modelViewMatrix; | ||||
| 		uniform mat4 projectionMatrix; | ||||
|  | ||||
| 		attribute vec3 position; | ||||
| 		attribute vec2 uv; | ||||
|  | ||||
| 		varying vec2 vUv; | ||||
|  | ||||
| 		void main() { | ||||
|  | ||||
| 			vUv = uv; | ||||
| 			gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); | ||||
|  | ||||
| 		}`, | ||||
|  | ||||
| 	fragmentShader: /* glsl */` | ||||
| 	 | ||||
| 		precision highp float; | ||||
|  | ||||
| 		uniform sampler2D tDiffuse; | ||||
|  | ||||
| 		#include <tonemapping_pars_fragment> | ||||
| 		#include <colorspace_pars_fragment> | ||||
|  | ||||
| 		varying vec2 vUv; | ||||
|  | ||||
| 		void main() { | ||||
|  | ||||
| 			gl_FragColor = texture2D( tDiffuse, vUv ); | ||||
|  | ||||
| 			// tone mapping | ||||
|  | ||||
| 			#ifdef LINEAR_TONE_MAPPING | ||||
|  | ||||
| 				gl_FragColor.rgb = LinearToneMapping( gl_FragColor.rgb ); | ||||
|  | ||||
| 			#elif defined( REINHARD_TONE_MAPPING ) | ||||
|  | ||||
| 				gl_FragColor.rgb = ReinhardToneMapping( gl_FragColor.rgb ); | ||||
|  | ||||
| 			#elif defined( CINEON_TONE_MAPPING ) | ||||
|  | ||||
| 				gl_FragColor.rgb = OptimizedCineonToneMapping( gl_FragColor.rgb ); | ||||
|  | ||||
| 			#elif defined( ACES_FILMIC_TONE_MAPPING ) | ||||
|  | ||||
| 				gl_FragColor.rgb = ACESFilmicToneMapping( gl_FragColor.rgb ); | ||||
|  | ||||
| 			#elif defined( AGX_TONE_MAPPING ) | ||||
|  | ||||
| 				gl_FragColor.rgb = AgXToneMapping( gl_FragColor.rgb ); | ||||
|  | ||||
| 			#elif defined( NEUTRAL_TONE_MAPPING ) | ||||
|  | ||||
| 				gl_FragColor.rgb = NeutralToneMapping( gl_FragColor.rgb ); | ||||
|  | ||||
| 			#endif | ||||
|  | ||||
| 			// color space | ||||
|  | ||||
| 			#ifdef SRGB_TRANSFER | ||||
|  | ||||
| 				gl_FragColor = sRGBTransferOETF( gl_FragColor ); | ||||
|  | ||||
| 			#endif | ||||
|  | ||||
| 		}` | ||||
|  | ||||
| }; | ||||
|  | ||||
| export { OutputShader }; | ||||
		Reference in New Issue
	
	Block a user