Explorar el Código

Examples: Removed webgl_materials_shaders_fresnel. (#22215)

Mr.doob hace 4 años
padre
commit
229fee089e

+ 0 - 1
docs/api/en/materials/ShaderMaterial.html

@@ -110,7 +110,6 @@
 			[example:webgl_materials_envmaps webgl / materials / envmaps]<br />
 			[example:webgl_materials_envmaps webgl / materials / envmaps]<br />
 			[example:webgl_materials_lightmap webgl / materials / lightmap]<br />
 			[example:webgl_materials_lightmap webgl / materials / lightmap]<br />
 			[example:webgl_materials_parallaxmap webgl / materials / parallaxmap]<br />
 			[example:webgl_materials_parallaxmap webgl / materials / parallaxmap]<br />
-			[example:webgl_materials_shaders_fresnel webgl / materials / shaders / fresnel]<br />
 			[example:webgl_materials_wireframe webgl / materials / wireframe]<br />
 			[example:webgl_materials_wireframe webgl / materials / wireframe]<br />
 			[example:webgl_modifier_tessellation webgl / modifier / tessellation]<br />
 			[example:webgl_modifier_tessellation webgl / modifier / tessellation]<br />
 			[example:webgl_postprocessing_dof2 webgl / postprocessing / dof2]<br />
 			[example:webgl_postprocessing_dof2 webgl / postprocessing / dof2]<br />

+ 0 - 1
docs/api/zh/materials/ShaderMaterial.html

@@ -100,7 +100,6 @@
 			[example:webgl_materials_envmaps webgl / materials / envmaps]<br />
 			[example:webgl_materials_envmaps webgl / materials / envmaps]<br />
 			[example:webgl_materials_lightmap webgl / materials / lightmap]<br />
 			[example:webgl_materials_lightmap webgl / materials / lightmap]<br />
 			[example:webgl_materials_parallaxmap webgl / materials / parallaxmap]<br />
 			[example:webgl_materials_parallaxmap webgl / materials / parallaxmap]<br />
-			[example:webgl_materials_shaders_fresnel webgl / materials / shaders / fresnel]<br />
 			[example:webgl_materials_wireframe webgl / materials / wireframe]<br />
 			[example:webgl_materials_wireframe webgl / materials / wireframe]<br />
 			[example:webgl_modifier_tessellation webgl / modifier / tessellation]<br />
 			[example:webgl_modifier_tessellation webgl / modifier / tessellation]<br />
 			[example:webgl_postprocessing_dof2 webgl / postprocessing / dof2]<br />
 			[example:webgl_postprocessing_dof2 webgl / postprocessing / dof2]<br />

+ 0 - 1
examples/files.json

@@ -152,7 +152,6 @@
 		"webgl_materials_physical_reflectivity",
 		"webgl_materials_physical_reflectivity",
 		"webgl_materials_physical_sheen",
 		"webgl_materials_physical_sheen",
 		"webgl_materials_physical_transmission",
 		"webgl_materials_physical_transmission",
-		"webgl_materials_shaders_fresnel",
 		"webgl_materials_standard",
 		"webgl_materials_standard",
 		"webgl_materials_subsurface_scattering",
 		"webgl_materials_subsurface_scattering",
 		"webgl_materials_texture_anisotropy",
 		"webgl_materials_texture_anisotropy",

+ 0 - 81
examples/js/shaders/FresnelShader.js

@@ -1,81 +0,0 @@
-( function () {
-
-	/**
- * Based on Nvidia Cg tutorial
- */
-	const FresnelShader = {
-		uniforms: {
-			'mRefractionRatio': {
-				value: 1.02
-			},
-			'mFresnelBias': {
-				value: 0.1
-			},
-			'mFresnelPower': {
-				value: 2.0
-			},
-			'mFresnelScale': {
-				value: 1.0
-			},
-			'tCube': {
-				value: null
-			}
-		},
-		vertexShader:
-  /* glsl */
-  `
-
-		uniform float mRefractionRatio;
-		uniform float mFresnelBias;
-		uniform float mFresnelScale;
-		uniform float mFresnelPower;
-
-		varying vec3 vReflect;
-		varying vec3 vRefract[3];
-		varying float vReflectionFactor;
-
-		void main() {
-
-			vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );
-			vec4 worldPosition = modelMatrix * vec4( position, 1.0 );
-
-			vec3 worldNormal = normalize( mat3( modelMatrix[0].xyz, modelMatrix[1].xyz, modelMatrix[2].xyz ) * normal );
-
-			vec3 I = worldPosition.xyz - cameraPosition;
-
-			vReflect = reflect( I, worldNormal );
-			vRefract[0] = refract( normalize( I ), worldNormal, mRefractionRatio );
-			vRefract[1] = refract( normalize( I ), worldNormal, mRefractionRatio * 0.99 );
-			vRefract[2] = refract( normalize( I ), worldNormal, mRefractionRatio * 0.98 );
-			vReflectionFactor = mFresnelBias + mFresnelScale * pow( 1.0 + dot( normalize( I ), worldNormal ), mFresnelPower );
-
-			gl_Position = projectionMatrix * mvPosition;
-
-		}`,
-		fragmentShader:
-  /* glsl */
-  `
-
-		uniform samplerCube tCube;
-
-		varying vec3 vReflect;
-		varying vec3 vRefract[3];
-		varying float vReflectionFactor;
-
-		void main() {
-
-			vec4 reflectedColor = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) );
-			vec4 refractedColor = vec4( 1.0 );
-
-			refractedColor.r = textureCube( tCube, vec3( -vRefract[0].x, vRefract[0].yz ) ).r;
-			refractedColor.g = textureCube( tCube, vec3( -vRefract[1].x, vRefract[1].yz ) ).g;
-			refractedColor.b = textureCube( tCube, vec3( -vRefract[2].x, vRefract[2].yz ) ).b;
-
-			gl_FragColor = mix( refractedColor, reflectedColor, clamp( vReflectionFactor, 0.0, 1.0 ) );
-
-		}`
-	};
-
-	THREE.FresnelShader = FresnelShader;
-
-} )();

+ 0 - 70
examples/jsm/shaders/FresnelShader.js

@@ -1,70 +0,0 @@
-/**
- * Based on Nvidia Cg tutorial
- */
-
-const FresnelShader = {
-
-	uniforms: {
-
-		'mRefractionRatio': { value: 1.02 },
-		'mFresnelBias': { value: 0.1 },
-		'mFresnelPower': { value: 2.0 },
-		'mFresnelScale': { value: 1.0 },
-		'tCube': { value: null }
-
-	},
-
-	vertexShader: /* glsl */`
-
-		uniform float mRefractionRatio;
-		uniform float mFresnelBias;
-		uniform float mFresnelScale;
-		uniform float mFresnelPower;
-
-		varying vec3 vReflect;
-		varying vec3 vRefract[3];
-		varying float vReflectionFactor;
-
-		void main() {
-
-			vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );
-			vec4 worldPosition = modelMatrix * vec4( position, 1.0 );
-
-			vec3 worldNormal = normalize( mat3( modelMatrix[0].xyz, modelMatrix[1].xyz, modelMatrix[2].xyz ) * normal );
-
-			vec3 I = worldPosition.xyz - cameraPosition;
-
-			vReflect = reflect( I, worldNormal );
-			vRefract[0] = refract( normalize( I ), worldNormal, mRefractionRatio );
-			vRefract[1] = refract( normalize( I ), worldNormal, mRefractionRatio * 0.99 );
-			vRefract[2] = refract( normalize( I ), worldNormal, mRefractionRatio * 0.98 );
-			vReflectionFactor = mFresnelBias + mFresnelScale * pow( 1.0 + dot( normalize( I ), worldNormal ), mFresnelPower );
-
-			gl_Position = projectionMatrix * mvPosition;
-
-		}`,
-
-	fragmentShader: /* glsl */`
-
-		uniform samplerCube tCube;
-
-		varying vec3 vReflect;
-		varying vec3 vRefract[3];
-		varying float vReflectionFactor;
-
-		void main() {
-
-			vec4 reflectedColor = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) );
-			vec4 refractedColor = vec4( 1.0 );
-
-			refractedColor.r = textureCube( tCube, vec3( -vRefract[0].x, vRefract[0].yz ) ).r;
-			refractedColor.g = textureCube( tCube, vec3( -vRefract[1].x, vRefract[1].yz ) ).g;
-			refractedColor.b = textureCube( tCube, vec3( -vRefract[2].x, vRefract[2].yz ) ).b;
-
-			gl_FragColor = mix( refractedColor, reflectedColor, clamp( vReflectionFactor, 0.0, 1.0 ) );
-
-		}`
-
-};
-
-export { FresnelShader };

BIN
examples/screenshots/webgl_materials_shaders_fresnel.jpg


+ 0 - 1
examples/tags.json

@@ -41,7 +41,6 @@
 	"webgl_materials_lightmap": [ "shadow" ],
 	"webgl_materials_lightmap": [ "shadow" ],
 	"webgl_materials_physical_clearcoat": [ "anisotropy" ],
 	"webgl_materials_physical_clearcoat": [ "anisotropy" ],
 	"webgl_materials_physical_transmission": [ "alpha" ],
 	"webgl_materials_physical_transmission": [ "alpha" ],
-	"webgl_materials_shaders_fresnel": [ "refraction" ],
 	"webgl_materials_standard": [ "pbr" ],
 	"webgl_materials_standard": [ "pbr" ],
 	"webgl_materials_texture_canvas": [ "paint" ],
 	"webgl_materials_texture_canvas": [ "paint" ],
 	"webgl_materials_texture_filters": [ "mipmap", "min", "mag" ],
 	"webgl_materials_texture_filters": [ "mipmap", "min", "mag" ],

+ 0 - 159
examples/webgl_materials_shaders_fresnel.html

@@ -1,159 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<title>three.js webgl - materials - shaders [Fresnel]</title>
-		<meta charset="utf-8">
-		<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
-		<link type="text/css" rel="stylesheet" href="main.css">
-	</head>
-
-	<body>
-
-		<div id="info">
-			<a href="https://threejs.org" target="_blank" rel="noopener">three.js</a> - webgl cube Fresnel shader demo.<br/>texture by <a href="http://www.humus.name/index.php?page=Textures" target="_blank" rel="noopener">Humus</a>
-		</div>
-
-		<script type="module">
-
-			import * as THREE from '../build/three.module.js';
-
-			import { FresnelShader } from './jsm/shaders/FresnelShader.js';
-
-			let container;
-
-			let camera, scene, renderer;
-
-			const spheres = [];
-
-			let mouseX = 0, mouseY = 0;
-
-			let windowHalfX = window.innerWidth / 2;
-			let windowHalfY = window.innerHeight / 2;
-
-			document.addEventListener( 'mousemove', onDocumentMouseMove );
-
-			init();
-			animate();
-
-			function init() {
-
-				container = document.createElement( 'div' );
-				document.body.appendChild( container );
-
-				camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight, 1, 100000 );
-				camera.position.z = 3200;
-
-				//
-
-				const path = "textures/cube/Park2/";
-				const format = '.jpg';
-				const urls = [
-					path + 'posx' + format, path + 'negx' + format,
-					path + 'posy' + format, path + 'negy' + format,
-					path + 'posz' + format, path + 'negz' + format
-				];
-
-				const textureCube = new THREE.CubeTextureLoader().load( urls );
-
-				scene = new THREE.Scene();
-				scene.background = textureCube;
-
-				//
-
-				const geometry = new THREE.SphereGeometry( 100, 32, 16 );
-
-				const shader = FresnelShader;
-				const uniforms = THREE.UniformsUtils.clone( shader.uniforms );
-
-				uniforms[ "tCube" ].value = textureCube;
-
-				const material = new THREE.ShaderMaterial( {
-					uniforms: uniforms,
-					vertexShader: shader.vertexShader,
-					fragmentShader: shader.fragmentShader
-				} );
-
-				for ( let i = 0; i < 500; i ++ ) {
-
-					const mesh = new THREE.Mesh( geometry, material );
-
-					mesh.position.x = Math.random() * 10000 - 5000;
-					mesh.position.y = Math.random() * 10000 - 5000;
-					mesh.position.z = Math.random() * 10000 - 5000;
-
-					mesh.scale.x = mesh.scale.y = mesh.scale.z = Math.random() * 3 + 1;
-
-					scene.add( mesh );
-
-					spheres.push( mesh );
-
-				}
-
-				//
-
-				renderer = new THREE.WebGLRenderer();
-				renderer.setPixelRatio( window.devicePixelRatio );
-				renderer.setSize( window.innerWidth, window.innerHeight );
-				container.appendChild( renderer.domElement );
-
-				//
-
-				window.addEventListener( 'resize', onWindowResize );
-
-			}
-
-			function onWindowResize() {
-
-				windowHalfX = window.innerWidth / 2;
-				windowHalfY = window.innerHeight / 2;
-
-				camera.aspect = window.innerWidth / window.innerHeight;
-				camera.updateProjectionMatrix();
-
-				renderer.setSize( window.innerWidth, window.innerHeight );
-
-			}
-
-			function onDocumentMouseMove( event ) {
-
-				mouseX = ( event.clientX - windowHalfX ) * 10;
-				mouseY = ( event.clientY - windowHalfY ) * 10;
-
-			}
-
-			//
-
-			function animate() {
-
-				requestAnimationFrame( animate );
-
-				render();
-
-			}
-
-			function render() {
-
-				const timer = 0.0001 * Date.now();
-
-				camera.position.x += ( mouseX - camera.position.x ) * .05;
-				camera.position.y += ( - mouseY - camera.position.y ) * .05;
-
-				camera.lookAt( scene.position );
-
-				for ( let i = 0, il = spheres.length; i < il; i ++ ) {
-
-					const sphere = spheres[ i ];
-
-					sphere.position.x = 5000 * Math.cos( timer + i );
-					sphere.position.y = 5000 * Math.sin( timer + i * 1.1 );
-
-				}
-
-				renderer.render( scene, camera );
-
-			}
-
-		</script>
-
-	</body>
-</html>