فهرست منبع

Examples: Improve AA approach in WebGPU water demo. (#31354)

Michael Herzog 6 ماه پیش
والد
کامیت
ddeab78ec5
1فایلهای تغییر یافته به همراه10 افزوده شده و 6 حذف شده
  1. 10 6
      examples/webgpu_water.html

+ 10 - 6
examples/webgpu_water.html

@@ -30,8 +30,9 @@
 
 
 			import * as THREE from 'three';
 			import * as THREE from 'three';
 
 
-			import { pass, mrt, output, emissive, color, screenUV } from 'three/tsl';
+			import { pass, mrt, output, emissive, renderOutput } from 'three/tsl';
 			import { bloom } from 'three/addons/tsl/display/BloomNode.js';
 			import { bloom } from 'three/addons/tsl/display/BloomNode.js';
+			import { fxaa } from 'three/addons/tsl/display/FXAANode.js';
 
 
 			import { GUI } from 'three/addons/libs/lil-gui.module.min.js';
 			import { GUI } from 'three/addons/libs/lil-gui.module.min.js';
 
 
@@ -59,7 +60,7 @@
 
 
 				const loader = new UltraHDRLoader();
 				const loader = new UltraHDRLoader();
 				loader.setDataType( THREE.HalfFloatType );
 				loader.setDataType( THREE.HalfFloatType );
-				loader.load( `textures/equirectangular/moonless_golf_2k.hdr.jpg`, function ( texture ) {
+				loader.load( 'textures/equirectangular/moonless_golf_2k.hdr.jpg', function ( texture ) {
 
 
 					texture.mapping = THREE.EquirectangularReflectionMapping;
 					texture.mapping = THREE.EquirectangularReflectionMapping;
 					texture.needsUpdate = true;
 					texture.needsUpdate = true;
@@ -163,7 +164,7 @@
 
 
 				// renderer
 				// renderer
 
 
-				renderer = new THREE.WebGPURenderer( { antialias: true } );
+				renderer = new THREE.WebGPURenderer();
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setAnimationLoop( animate );
 				renderer.setAnimationLoop( animate );
@@ -181,12 +182,15 @@
 					emissive
 					emissive
 				} ) );
 				} ) );
 
 
-				const outputPass = scenePass.getTextureNode();
+				const beautyPass = scenePass.getTextureNode();
 				const emissivePass = scenePass.getTextureNode( 'emissive' );
 				const emissivePass = scenePass.getTextureNode( 'emissive' );
 
 
 				const bloomPass = bloom( emissivePass, 2 );
 				const bloomPass = bloom( emissivePass, 2 );
 
 
-				postProcessing.outputNode = outputPass.add( bloomPass );
+				const outputPass = renderOutput( beautyPass.add( bloomPass ) );
+
+				const fxaaPass = fxaa( outputPass );
+				postProcessing.outputNode = fxaaPass;
 
 
 				// gui
 				// gui
 
 
@@ -222,7 +226,7 @@
 
 
 				controls = new OrbitControls( camera, renderer.domElement );
 				controls = new OrbitControls( camera, renderer.domElement );
 				controls.enableDamping = true;
 				controls.enableDamping = true;
-				controls.target.set( 0, 0, -5 );
+				controls.target.set( 0, 0, - 5 );
 				controls.update();
 				controls.update();
 
 
 				//
 				//

粤ICP备19079148号