Browse Source

Examples: Remove THREE.CubemapGenerator.

Mugen87 5 years ago
parent
commit
99f73f40f1

+ 0 - 110
examples/js/loaders/EquirectangularToCubeGenerator.js

@@ -1,117 +1,7 @@
 /**
 * @author Richard M. / https://github.com/richardmonette
-* @author WestLangley / http://github.com/WestLangley
 */
 
-THREE.CubemapGenerator = function ( renderer ) {
-
-	this.renderer = renderer;
-
-};
-
-THREE.CubemapGenerator.prototype.fromEquirectangular = function ( texture, options ) {
-
-	options = options || {};
-
-	var scene = new THREE.Scene();
-
-	var shader = {
-
-		uniforms: {
-			tEquirect: { value: null },
-		},
-
-		vertexShader:
-
-			`
-			varying vec3 vWorldDirection;
-
-			//include <common>
-			vec3 transformDirection( in vec3 dir, in mat4 matrix ) {
-
-				return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );
-
-			}
-
-			void main() {
-
-				vWorldDirection = transformDirection( position, modelMatrix );
-
-				#include <begin_vertex>
-				#include <project_vertex>
-
-			}
-			`,
-
-		fragmentShader:
-
-			`
-			uniform sampler2D tEquirect;
-
-			varying vec3 vWorldDirection;
-
-			//include <common>
-			#define RECIPROCAL_PI 0.31830988618
-			#define RECIPROCAL_PI2 0.15915494
-
-			void main() {
-
-				vec3 direction = normalize( vWorldDirection );
-
-				vec2 sampleUV;
-
-				sampleUV.y = asin( clamp( direction.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;
-
-				sampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;
-
-				gl_FragColor = texture2D( tEquirect, sampleUV );
-
-			}
-			`
-	};
-
-	var material = new THREE.ShaderMaterial( {
-
-		type: 'CubemapFromEquirect',
-
-		uniforms: THREE.UniformsUtils.clone( shader.uniforms ),
-		vertexShader: shader.vertexShader,
-		fragmentShader: shader.fragmentShader,
-		side: THREE.BackSide,
-		blending: THREE.NoBlending
-
-	} );
-
-	material.uniforms.tEquirect.value = texture;
-
-	var mesh = new THREE.Mesh( new THREE.BoxBufferGeometry( 5, 5, 5 ), material );
-
-	scene.add( mesh );
-
-	var resolution = options.resolution || 512;
-
-	var params = {
-		type: texture.type,
-		format: texture.format,
-		encoding: texture.encoding,
-		generateMipmaps: ( options.generateMipmaps !== undefined ) ? options.generateMipmaps : texture.generateMipmaps,
-		minFilter: ( options.minFilter !== undefined ) ? options.minFilter : texture.minFilter,
-		magFilter: ( options.magFilter !== undefined ) ? options.magFilter : texture.magFilter
-	};
-
-	var camera = new THREE.CubeCamera( 1, 10, resolution, params );
-
-	camera.update( this.renderer, scene );
-
-	mesh.geometry.dispose();
-	mesh.material.dispose();
-
-	return camera.renderTarget;
-
-};
-
-//
-
 THREE.EquirectangularToCubeGenerator = ( function () {
 
 	var camera = new THREE.PerspectiveCamera( 90, 1, 0.1, 10 );

+ 1 - 18
examples/jsm/loaders/EquirectangularToCubeGenerator.d.ts

@@ -2,32 +2,15 @@ import {
 	PixelFormat,
 	Texture,
 	TextureDataType,
-	TextureFilter,
-	WebGLRenderer,
-	WebGLRenderTargetCube
+	WebGLRenderer
 } from '../../../src/Three';
 
-export interface CubemapGeneratorOptions {
-	resolution?: number;
-	generateMipmaps?: boolean;
-	magFilter?: TextureFilter;
-	minFilter?: TextureFilter;
-}
-
 export interface EquirectangularToCubeGeneratorOptions {
 	resolution?: number;
 	format?: PixelFormat;
 	type?: TextureDataType;
 }
 
-export class CubemapGenerator {
-
-	constructor( renderer: WebGLRenderer );
-
-	fromEquirectangular( texture: Texture, options?: CubemapGeneratorOptions ): WebGLRenderTargetCube;
-
-}
-
 export class EquirectangularToCubeGenerator {
 
 	constructor( sourceTexture: Texture, options?: EquirectangularToCubeGeneratorOptions );

+ 1 - 113
examples/jsm/loaders/EquirectangularToCubeGenerator.js

@@ -1,130 +1,18 @@
 /**
 * @author Richard M. / https://github.com/richardmonette
-* @author WestLangley / http://github.com/WestLangley
 */
 
 import {
 	BackSide,
 	BoxBufferGeometry,
-	CubeCamera,
 	Mesh,
 	NoBlending,
 	PerspectiveCamera,
 	Scene,
 	ShaderMaterial,
-	UniformsUtils,
 	WebGLRenderTargetCube
 } from "../../../build/three.module.js";
 
-var CubemapGenerator = function ( renderer ) {
-
-	this.renderer = renderer;
-
-};
-
-CubemapGenerator.prototype.fromEquirectangular = function ( texture, options ) {
-
-	options = options || {};
-
-	var scene = new Scene();
-
-	var shader = {
-
-		uniforms: {
-			tEquirect: { value: null },
-		},
-
-		vertexShader:
-
-			`
-			varying vec3 vWorldDirection;
-
-			//include <common>
-			vec3 transformDirection( in vec3 dir, in mat4 matrix ) {
-
-				return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );
-
-			}
-
-			void main() {
-
-				vWorldDirection = transformDirection( position, modelMatrix );
-
-				#include <begin_vertex>
-				#include <project_vertex>
-
-			}
-			`,
-
-		fragmentShader:
-
-			`
-			uniform sampler2D tEquirect;
-
-			varying vec3 vWorldDirection;
-
-			//include <common>
-			#define RECIPROCAL_PI 0.31830988618
-			#define RECIPROCAL_PI2 0.15915494
-
-			void main() {
-
-				vec3 direction = normalize( vWorldDirection );
-
-				vec2 sampleUV;
-
-				sampleUV.y = asin( clamp( direction.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;
-
-				sampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;
-
-				gl_FragColor = texture2D( tEquirect, sampleUV );
-
-			}
-			`
-	};
-
-	var material = new ShaderMaterial( {
-
-		type: 'CubemapFromEquirect',
-
-		uniforms: UniformsUtils.clone( shader.uniforms ),
-		vertexShader: shader.vertexShader,
-		fragmentShader: shader.fragmentShader,
-		side: BackSide,
-		blending: NoBlending
-
-	} );
-
-	material.uniforms.tEquirect.value = texture;
-
-	var mesh = new Mesh( new BoxBufferGeometry( 5, 5, 5 ), material );
-
-	scene.add( mesh );
-
-	var resolution = options.resolution || 512;
-
-	var params = {
-		type: texture.type,
-		format: texture.format,
-		encoding: texture.encoding,
-		generateMipmaps: ( options.generateMipmaps !== undefined ) ? options.generateMipmaps : texture.generateMipmaps,
-		minFilter: ( options.minFilter !== undefined ) ? options.minFilter : texture.minFilter,
-		magFilter: ( options.magFilter !== undefined ) ? options.magFilter : texture.magFilter
-	};
-
-	var camera = new CubeCamera( 1, 10, resolution, params );
-
-	camera.update( this.renderer, scene );
-
-	mesh.geometry.dispose();
-	mesh.material.dispose();
-
-	return camera.renderTarget;
-
-};
-
-//
-
 var EquirectangularToCubeGenerator = ( function () {
 
 	var camera = new PerspectiveCamera( 90, 1, 0.1, 10 );
@@ -248,4 +136,4 @@ var EquirectangularToCubeGenerator = ( function () {
 
 } )();
 
-export { CubemapGenerator, EquirectangularToCubeGenerator };
+export { EquirectangularToCubeGenerator };

+ 1 - 5
examples/webgl_materials_cubemap_dynamic.html

@@ -14,8 +14,6 @@
 
 			import * as THREE from '../build/three.module.js';
 
-			import { CubemapGenerator } from './jsm/loaders/EquirectangularToCubeGenerator.js';
-
 			var camera, scene, renderer;
 			var cube, sphere, torus, material;
 
@@ -50,14 +48,12 @@
 				// background
 
 				var options = {
-					resolution: 1024,
-
 					generateMipmaps: true,
 					minFilter: THREE.LinearMipmapLinearFilter,
 					magFilter: THREE.LinearFilter
 				};
 
-				scene.background = new CubemapGenerator( renderer ).fromEquirectangular( texture, options );
+				scene.background = new THREE.WebGLRenderTargetCube( 1024, 1024, options ).fromEquirectangularTexture( renderer, texture );
 
 				//