提交 cf2e8c1b 编写于 作者: A alteredq

Refactored everything to use CamelCase naming for properties. Plus some...

Refactored everything to use CamelCase naming for properties. Plus some smaller fixes here and there.

Went through all examples, all should work.

JSON files exported from Blender / converted from OBJ files still use underscored property names internally. I don't know, should these also be changed?
上级 1cb0a964
此差异已折叠。
此差异已折叠。
......@@ -48,7 +48,7 @@ b,c){if(this.visible){this.matrixAutoUpdate&&(b|=this.updateMatrix());if(b||this
THREE.Quaternion.prototype={set:function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.w=d;return this},setFromEuler:function(a){var b=0.5*Math.PI/360,c=a.x*b,d=a.y*b,e=a.z*b;a=Math.cos(d);d=Math.sin(d);b=Math.cos(-e);e=Math.sin(-e);var f=Math.cos(c);c=Math.sin(c);var g=a*b,i=d*e;this.w=g*f-i*c;this.x=g*c+i*f;this.y=d*b*f+a*e*c;this.z=a*e*f-d*b*c;return this},calculateW:function(){this.w=-Math.sqrt(Math.abs(1-this.x*this.x-this.y*this.y-this.z*this.z));return this},inverse:function(){this.x*=-1;this.y*=
-1;this.z*=-1;return this},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},normalize:function(){var a=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);if(a==0)this.w=this.z=this.y=this.x=0;else{a=1/a;this.x*=a;this.y*=a;this.z*=a;this.w*=a}return this},multiplySelf:function(a){var b=this.x,c=this.y,d=this.z,e=this.w,f=a.x,g=a.y,i=a.z;a=a.w;this.x=b*a+e*f+c*i-d*g;this.y=c*a+e*g+d*f-b*i;this.z=d*a+e*i+b*g-c*f;this.w=e*a-b*f-c*g-d*i;return this},
multiplyVector3:function(a,b){b||(b=a);var c=a.x,d=a.y,e=a.z,f=this.x,g=this.y,i=this.z,h=this.w,j=h*c+g*e-i*d,l=h*d+i*c-f*e,m=h*e+f*d-g*c;c=-f*c-g*d-i*e;b.x=j*h+c*-f+l*-i-m*-g;b.y=l*h+c*-g+m*-f-j*-i;b.z=m*h+c*-i+j*-g-l*-f;return b}};
THREE.Quaternion.slerp=function(a,b,c,d){var e=a.w*b.w+a.x*b.x+a.y*b.y+a.z*b.z;if(Math.abs(e)>=1){c.w=a.w;c.x=a.x;c.y=a.y;c.z=a.z;return c}var f=Math.acos(e),g=Math.sqrt(1-e*e);if(Math.abs(g)<0.001){c.w=0.5*(a.w+b.w);c.x=0.5*(a.x+b.x);c.y=0.5*(a.y+b.y);c.z=0.5*(a.z+b.z);return c}e=Math.sin((1-d)*f)/g;d=Math.sin(d*f)/g;c.w=a.w*e+b.w*d;c.x=a.x*e+b.x*d;c.y=a.y*e+b.y*d;c.z=a.z*e+b.z*d;return c};
THREE.Quaternion.slerp=function(a,b,c,d){var e=a.w*b.w+a.x*b.x+a.y*b.y+a.z*b.z;if(Math.abs(e)>=1){c.w=a.w;c.x=a.x;c.y=a.y;c.z=a.z;return c}var f=Math.acos(e),g=Math.sqrt(1-e*e);if(Math.abs(g)<0.0010){c.w=0.5*(a.w+b.w);c.x=0.5*(a.x+b.x);c.y=0.5*(a.y+b.y);c.z=0.5*(a.z+b.z);return c}e=Math.sin((1-d)*f)/g;d=Math.sin(d*f)/g;c.w=a.w*e+b.w*d;c.x=a.x*e+b.x*d;c.y=a.y*e+b.y*d;c.z=a.z*e+b.z*d;return c};
THREE.Vertex=function(a,b){this.position=a||new THREE.Vector3;this.positionWorld=new THREE.Vector3;this.positionScreen=new THREE.Vector4;this.normal=b||new THREE.Vector3;this.normalWorld=new THREE.Vector3;this.normalScreen=new THREE.Vector3;this.tangent=new THREE.Vector4;this.__visible=!0};
THREE.Face3=function(a,b,c,d,e){this.a=a;this.b=b;this.c=c;this.centroid=new THREE.Vector3;this.normal=d instanceof THREE.Vector3?d:new THREE.Vector3;this.vertexNormals=d instanceof Array?d:[];this.materials=e instanceof Array?e:[e]};THREE.Face4=function(a,b,c,d,e,f){this.a=a;this.b=b;this.c=c;this.d=d;this.centroid=new THREE.Vector3;this.normal=e instanceof THREE.Vector3?e:new THREE.Vector3;this.vertexNormals=e instanceof Array?e:[];this.materials=f instanceof Array?f:[f]};
THREE.UV=function(a,b){this.set(a||0,b||0)};THREE.UV.prototype={set:function(a,b){this.u=a;this.v=b;return this},copy:function(a){this.set(a.u,a.v);return this}};
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
......@@ -79,7 +79,7 @@
{ material: new THREE.MeshNormalMaterial(), overdraw: true, doubleSided: false },
{ material: new THREE.MeshBasicMaterial( { map: ImageUtils.loadTexture( 'textures/land_ocean_ice_cloud_2048.jpg' ) } ), overdraw: false, doubleSided: false },
{ material: new THREE.MeshLambertMaterial( { map: ImageUtils.loadTexture( 'textures/land_ocean_ice_cloud_2048.jpg' ) } ), overdraw: false, doubleSided: false },
{ material: new THREE.MeshBasicMaterial( { env_map: ImageUtils.loadTexture( 'textures/envmap.png', new THREE.SphericalReflectionMapping() ) } ), overdraw: false, doubleSided: false }
{ material: new THREE.MeshBasicMaterial( { envMap: ImageUtils.loadTexture( 'textures/envmap.png', new THREE.SphericalReflectionMapping() ) } ), overdraw: false, doubleSided: false }
];
......
......@@ -66,7 +66,7 @@
geometry = new WaltHead();
geometry.computeVertexNormals();
mesh = new THREE.Mesh( geometry, new THREE.MeshBasicMaterial( { env_map: ImageUtils.loadTexture( 'textures/metal.jpg', new THREE.SphericalReflectionMapping() ) } ) );
mesh = new THREE.Mesh( geometry, new THREE.MeshBasicMaterial( { envMap: ImageUtils.loadTexture( 'textures/metal.jpg', new THREE.SphericalReflectionMapping() ) } ) );
mesh.overdraw = true;
scene.addObject( mesh );
......
......@@ -80,8 +80,8 @@
imageContext.fillRect( 0, 0, 480, 204 );
texture = new THREE.Texture( image );
texture.min_filter = THREE.LinearFilter;
texture.mag_filter = THREE.LinearFilter;
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
var material = new THREE.MeshBasicMaterial( { map: texture } );
......@@ -98,8 +98,8 @@
imageReflectionGradient.addColorStop( 1, 'rgba(240, 240, 240, 0.8)' );
textureReflection = new THREE.Texture( imageReflection );
textureReflection.min_filter = THREE.LinearFilter;
textureReflection.mag_filter = THREE.LinearFilter;
textureReflection.minFilter = THREE.LinearFilter;
textureReflection.magFilter = THREE.LinearFilter;
var materialReflection = new THREE.MeshBasicMaterial( { map: textureReflection } );
......
......@@ -166,7 +166,7 @@
objects = [];
geometry = new Sphere( 100, 16, 8 );
material = new THREE.MeshBasicMaterial( { env_map: ImageUtils.loadTexture( 'textures/metal.jpg', new THREE.SphericalReflectionMapping() ) } );
material = new THREE.MeshBasicMaterial( { envMap: ImageUtils.loadTexture( 'textures/metal.jpg', new THREE.SphericalReflectionMapping() ) } );
for ( var i = 0; i < 10; i ++ ) {
......
/**
* @author mrdoob / http://mrdoob.com/
* @author alteredq / http://alteredqualia.com/
* @author paulirish / http://paulirish.com/
*/
function bind( scope, fn ) {
return function () {
fn.apply( scope, arguments );
};
}
CameraControlWASD = function ( camera, movement_speed, look_speed, nofly, look_vertical ) {
this.movement_speed = movement_speed !== undefined ? movement_speed : 1.0;
this.look_speed = look_speed !== undefined ? look_speed : 0.005;
this.nofly = nofly;
this.look_vertical = look_vertical;
this.camera = camera;
this.mouseX = 0;
this.mouseY = 0;
this.lat = 0;
this.lon = 0;
this.phy = 0;
this.theta = 0;
this.moveForward = false;
this.moveBackward = false;
this.moveLeft = false;
this.moveRight = false;
this.windowHalfX = window.innerWidth / 2;
this.windowHalfY = window.innerHeight / 2;
this.onDocumentMouseDown = function ( event ) {
event.preventDefault();
event.stopPropagation();
switch ( event.button ) {
case 0: this.moveForward = true; break;
case 2: this.moveBackward = true; break;
}
};
this.onDocumentMouseUp = function ( event ) {
event.preventDefault();
event.stopPropagation();
switch ( event.button ) {
case 0: this.moveForward = false; break;
case 2: this.moveBackward = false; break;
}
};
this.onDocumentMouseMove = function (event) {
this.mouseX = event.clientX - this.windowHalfX;
this.mouseY = event.clientY - this.windowHalfY;
};
this.onDocumentKeyDown = function ( event ) {
switch( event.keyCode ) {
case 38: /*up*/
case 87: /*W*/ this.moveForward = true; break;
case 37: /*left*/
case 65: /*A*/ this.moveLeft = true; break;
case 40: /*down*/
case 83: /*S*/ this.moveBackward = true; break;
case 39: /*right*/
case 68: /*D*/ this.moveRight = true; break;
}
};
this.onDocumentKeyUp = function ( event ) {
switch( event.keyCode ) {
case 38: /*up*/
case 87: /*W*/ this.moveForward = false; break;
case 37: /*left*/
case 65: /*A*/ this.moveLeft = false; break;
case 40: /*down*/
case 83: /*S*/ this.moveBackward = false; break;
case 39: /*right*/
case 68: /*D*/ this.moveRight = false; break;
}
};
this.update = function() {
if ( this.moveForward ) this.camera.translateZ( - this.movement_speed, this.nofly );
if ( this.moveBackward ) this.camera.translateZ( this.movement_speed, this.nofly );
if ( this.moveLeft ) this.camera.translateX( - this.movement_speed, this.nofly );
if ( this.moveRight ) this.camera.translateX( this.movement_speed, this.nofly );
this.lon += this.mouseX * this.look_speed;
if( this.look_vertical ) this.lat -= this.mouseY * this.look_speed;
this.lat = Math.max( - 85, Math.min( 85, this.lat ) );
this.phi = ( 90 - this.lat ) * Math.PI / 180;
this.theta = this.lon * Math.PI / 180;
this.camera.target.position.x = 100 * Math.sin( this.phi ) * Math.cos( this.theta ) + this.camera.position.x;
this.camera.target.position.y = 100 * Math.cos( this.phi ) + this.camera.position.y;
this.camera.target.position.z = 100 * Math.sin( this.phi ) * Math.sin( this.theta ) + this.camera.position.z;
};
document.addEventListener( 'contextmenu', function ( event ) { event.preventDefault(); }, false );
document.addEventListener( 'mousemove', bind( this, this.onDocumentMouseMove ), false );
document.addEventListener( 'mousedown', bind( this, this.onDocumentMouseDown ), false );
document.addEventListener( 'mouseup', bind( this, this.onDocumentMouseUp ), false );
document.addEventListener( 'keydown', bind( this, this.onDocumentKeyDown ), false );
document.addEventListener( 'keyup', bind( this, this.onDocumentKeyUp ), false );
};
......@@ -16,7 +16,7 @@ var ShaderExtras = {
maxblur: { type: "f", value: 1.0 },
},
vertex_shader: [
vertexShader: [
"varying vec2 vUv;",
......@@ -29,7 +29,7 @@ var ShaderExtras = {
].join("\n"),
fragment_shader: [
fragmentShader: [
"varying vec2 vUv;",
......
<!DOCTYPE HTML>
<html lang="en">
<head>
<title>three.js - materials - multi-materials - webgl</title>
<title>three.js misc - materials - multi-materials</title>
<meta charset="utf-8">
<style type="text/css">
body {
......@@ -99,9 +99,9 @@
sphere = new Sphere( 100, 16, 8 );
for (var i=0; i<10; i++) {
//mesh = new THREE.Mesh( sphere, new THREE.MeshLambertMaterial( ) );
mesh = new THREE.Mesh( sphere, [ new THREE.MeshLambertMaterial( { color: 0xffffff } ), new THREE.MeshBasicMaterial( { color: 0x000000, wireframe: true, wireframe_linewidth: 1.5 } ) ] );
//mesh = new THREE.Mesh( sphere, new THREE.MeshLambertMaterial( { color: 0x00aa00, wireframe: true, wireframe_linewidth: 1.5 } ) );
//mesh = new THREE.Mesh( sphere, new THREE.MeshBasicMaterial( { wireframe: true, wireframe_linewidth: 2.5 } ) );
mesh = new THREE.Mesh( sphere, [ new THREE.MeshLambertMaterial( { color: 0xffffff } ), new THREE.MeshBasicMaterial( { color: 0x000000, wireframe: true, wireframeLinewidth: 1.5 } ) ] );
//mesh = new THREE.Mesh( sphere, new THREE.MeshLambertMaterial( { color: 0x00aa00, wireframe: true, wireframeLinewidth: 1.5 } ) );
//mesh = new THREE.Mesh( sphere, new THREE.MeshBasicMaterial( { wireframe: true, wireframeLinewidth: 2.5 } ) );
mesh.position.x = 500 * ( Math.random() - 0.5 );
mesh.position.y = 500 * ( Math.random() - 0.5 );
mesh.position.z = 500 * ( Math.random() - 0.5 );
......@@ -211,7 +211,7 @@
var materials = [ new THREE.MeshFaceMaterial() ];
// full-mesh wireframe overlay
//materials.push( new THREE.MeshBasicMaterial( { color: 0xff0000, wireframe: true, wireframe_linewidth: 1.5 } ) );
//materials.push( new THREE.MeshBasicMaterial( { color: 0xff0000, wireframe: true, wireframeLinewidth: 1.5 } ) );
// full-mesh color overlay
//materials.push( new THREE.MeshBasicMaterial { color: 0xff0000, opacity: 0.5 } ) );
......
......@@ -71,7 +71,7 @@
scene.fog = new THREE.FogExp2( 0x000000, 0.0035 );
camera = new THREE.QuakeCamera( { fov: 50, aspect: window.innerWidth / window.innerHeight, near: 1, far: 10000,
movement_speed: 1, look_speed: 0.002, nofly: true, look_vertical: false } );
movementSpeed: 1, lookSpeed: 0.002, noFly: true, lookVertical: false } );
camera.position.set( 0, 25, 0 );
......@@ -126,7 +126,7 @@
// ground
var material_wireframe = new THREE.MeshLambertMaterial( { color: 0xffaa00, wireframe: true, wireframe_linewidth: 1 } );
var material_wireframe = new THREE.MeshLambertMaterial( { color: 0xffaa00, wireframe: true, wireframeLinewidth: 1 } );
material_wireframe.color.setHSV( 0.1, 0.2, 0.25 );
......@@ -160,7 +160,7 @@
postprocessing.camera.projectionMatrix = THREE.Matrix4.makeOrtho( window.innerWidth / - 2, window.innerWidth / 2, window.innerHeight / 2, window.innerHeight / - 2, -10000, 10000 );
postprocessing.camera.position.z = 100;
var pars = { min_filter: THREE.LinearFilter, mag_filter: THREE.LinearFilter };
var pars = { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter };
postprocessing.rtTexture1 = new THREE.RenderTarget( window.innerWidth, window.innerHeight, pars );
postprocessing.rtTexture2 = new THREE.RenderTarget( 512, 512, pars );
postprocessing.rtTexture3 = new THREE.RenderTarget( 512, 512, pars );
......@@ -174,8 +174,8 @@
postprocessing.materialScreen = new THREE.MeshShaderMaterial( {
uniforms: screen_uniforms,
vertex_shader: screen_shader.vertex_shader,
fragment_shader: screen_shader.fragment_shader,
vertexShader: screen_shader.vertexShader,
fragmentShader: screen_shader.fragmentShader,
blending: THREE.AdditiveBlending
} );
......@@ -193,8 +193,8 @@
postprocessing.materialConvolution = new THREE.MeshShaderMaterial( {
uniforms: convolution_uniforms,
vertex_shader: "#define KERNEL_SIZE 25.0\n" + convolution_shader.vertex_shader,
fragment_shader: "#define KERNEL_SIZE 25\n" + convolution_shader.fragment_shader
vertexShader: "#define KERNEL_SIZE 25.0\n" + convolution_shader.vertexShader,
fragmentShader: "#define KERNEL_SIZE 25\n" + convolution_shader.fragmentShader
} );
......
<!DOCTYPE HTML>
<html lang="en">
<head>
<title>three.js - geometry - canvas polyfield</title>
<title>three.js misc - geometry - polyfield</title>
<meta charset="utf-8">
<style type="text/css">
body {
......@@ -195,7 +195,7 @@
geometry.computeCentroids();
geometry.sortFacesByMaterial();
mesh = new THREE.Mesh( geometry, [ new THREE.MeshFaceMaterial(), new THREE.MeshBasicMaterial( { color: 0xff0000, opacity: 0.5, wireframe: true, wireframe_linewidth: 10 } ) ] );
mesh = new THREE.Mesh( geometry, [ new THREE.MeshFaceMaterial(), new THREE.MeshBasicMaterial( { color: 0xff0000, opacity: 0.5, wireframe: true, wireframeLinewidth: 10 } ) ] );
mesh.doubleSided = true;
mesh.scale.x = mesh.scale.y = mesh.scale.z = 2;
scene.addObject( mesh );
......
......@@ -129,8 +129,8 @@ var scene = {
"width" : 10,
"height": 10,
"depth" : 10,
"segments_width" : 1,
"segments_height" : 1,
"segmentsWidth" : 1,
"segmentsHeight" : 1,
"flipped" : false,
"sides" : { "px": true, "nx": true, "py": true, "ny": true, "pz": true, "nz": true }
},
......@@ -139,23 +139,23 @@ var scene = {
"type" : "plane",
"width" : 10,
"height" : 10,
"segments_width" : 50,
"segments_height" : 50
"segmentsWidth" : 50,
"segmentsHeight" : 50
},
"quad": {
"type" : "plane",
"width" : 10,
"height" : 10,
"segments_width" : 1,
"segments_height" : 1
"segmentsWidth" : 1,
"segmentsHeight" : 1
},
"sphere": {
"type" : "sphere",
"radius" : 5,
"segments_width" : 32,
"segments_height" : 16
"segmentsWidth" : 32,
"segmentsHeight" : 16
},
"icosahedron": {
......@@ -270,27 +270,27 @@ var scene = {
"basic_refraction": {
"type": "MeshBasicMaterial",
"parameters": { color: 0xffffff, env_map: "cube_refraction", refraction_ratio: 0.95 }
"parameters": { color: 0xffffff, envMap: "cube_refraction", refractionRatio: 0.95 }
},
"lambert_cube": {
"type": "MeshLambertMaterial",
"parameters": { color: 0xff6600, env_map: "cube_reflection", combine: "MixOperation", reflectivity: 0.3 }
"parameters": { color: 0xff6600, envMap: "cube_reflection", combine: "MixOperation", reflectivity: 0.3 }
},
"chrome": {
"type": "MeshLambertMaterial",
"parameters": { color: 0xffffff, env_map: "cube_reflection" }
"parameters": { color: 0xffffff, envMap: "cube_reflection" }
},
"darkerchrome": {
"type": "MeshLambertMaterial",
"parameters": { color: 0x222222, env_map: "cube_reflection" }
"parameters": { color: 0x222222, envMap: "cube_reflection" }
},
"glass": {
"type": "MeshLambertMaterial",
"parameters": { color: 0x101046, env_map: "cube_reflection", opacity: 0.25 }
"parameters": { color: 0x101046, envMap: "cube_reflection", opacity: 0.25 }
},
"interior": {
......@@ -355,8 +355,8 @@ var scene = {
"texture_minecraft": {
"url": "textures/minecraft/grass.png",
"mag_filter": "NearestFilter",
"min_filter": "LinearMipMapLinearFilter"
"magFilter": "NearestFilter",
"minFilter": "LinearMipMapLinearFilter"
}
},
......
......@@ -95,7 +95,7 @@
geometry.materials[0][0].shading = THREE.FlatShading;
var material = [ new THREE.MeshFaceMaterial(), new THREE.MeshLambertMaterial( { color: 0xffffff, opacity:0.9, shading:THREE.FlatShading, wireframe: true, wireframe_linewidth: 2 } ) ];
var material = [ new THREE.MeshFaceMaterial(), new THREE.MeshLambertMaterial( { color: 0xffffff, opacity:0.9, shading:THREE.FlatShading, wireframe: true, wireframeLinewidth: 2 } ) ];
mesh = SceneUtils.addMesh( scene, geometry, 250, 0, 0, 0, 0, 0, 0, material );
......
......@@ -127,7 +127,7 @@
var materials = [
new THREE.MeshLambertMaterial( { color: 0xffffff, shading: THREE.FlatShading, vertex_colors: true } ),
new THREE.MeshLambertMaterial( { color: 0xffffff, shading: THREE.FlatShading, vertexColors: true } ),
new THREE.MeshBasicMaterial( { color: 0x000000, shading: THREE.FlatShading, wireframe: true } )
];
......
......@@ -71,7 +71,7 @@
container = document.getElementById( 'container' );
camera = new THREE.QuakeCamera( { fov: 60, aspect: window.innerWidth / window.innerHeight, near: 1, far: 20000,
movement_speed: 10, look_speed: 0.004, nofly: false, look_vertical: true } );
movementSpeed: 10, lookSpeed: 0.004, noFly: false, lookVertical: true } );
camera.target.position.z = - 100;
......@@ -114,7 +114,7 @@
geometry.computeVertexNormals();
var texture = ImageUtils.loadTexture( "textures/water.jpg" );
texture.wrap_s = texture.wrap_t = THREE.RepeatWrapping;
texture.wrapS = texture.wrapT = THREE.RepeatWrapping;
material = new THREE.MeshBasicMaterial( { color:0x0044ff, opacity:1, map: texture } );
mesh = new THREE.Mesh( geometry, material );
......
......@@ -76,7 +76,7 @@
container = document.getElementById( 'container' );
camera = new THREE.QuakeCamera( { fov: 60, aspect: window.innerWidth / window.innerHeight, near: 1, far: 20000,
movement_speed: 15, look_speed: 0.005, nofly: false, look_vertical: true } );
movementSpeed: 15, lookSpeed: 0.005, noFly: false, lookVertical: true } );
camera.target.position.z = - 100;
......
......@@ -86,7 +86,7 @@
container = document.getElementById( 'container' );
camera = new THREE.QuakeCamera( { fov: 60, aspect: window.innerWidth / window.innerHeight, near: 1, far: 20000,
movement_speed: 15, look_speed: 0.005, nofly: false, look_vertical: true } );
movementSpeed: 15, lookSpeed: 0.005, noFly: false, lookVertical: true } );
camera.target.position.z = - 100;
......
......@@ -68,7 +68,7 @@
container = document.getElementById( 'container' );
camera = new THREE.QuakeCamera( { fov: 60, aspect: window.innerWidth / window.innerHeight, near: 1, far: 20000,
movement_speed: 15, look_speed: 0.004, nofly: false, look_vertical: true } );
movementSpeed: 15, lookSpeed: 0.004, noFly: false, lookVertical: true } );
camera.target.position.z = - 100;
......
......@@ -68,7 +68,7 @@
container = document.getElementById( 'container' );
camera = new THREE.QuakeCamera( { fov: 60, aspect: window.innerWidth / window.innerHeight, near: 1, far: 20000,
movement_speed: 10, look_speed: 0.004, nofly: false, look_vertical: true } );
movementSpeed: 10, lookSpeed: 0.004, noFly: false, lookVertical: true } );
camera.target.position.z = - 100;
......
......@@ -67,7 +67,7 @@
container = document.getElementById( 'container' );
camera = new THREE.QuakeCamera( { fov: 60, aspect: window.innerWidth / window.innerHeight, near: 1, far: 10000,
movement_speed: 5, look_speed: 0.004, nofly: false, look_vertical: true } );
movementSpeed: 5, lookSpeed: 0.004, noFly: false, lookVertical: true } );
camera.target.position.z = - 100;
......
......@@ -128,8 +128,8 @@
scene.addLight( directionalLight );
var texture = ImageUtils.loadTexture( "textures/memorial.png" );
texture.min_filter = THREE.LinearFilter;
texture.mag_filter = THREE.NearestFilter;
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.NearestFilter;
materialHDR = new THREE.MeshShaderMaterial( {
......@@ -138,8 +138,8 @@
exposure: { type: "f", value: 0.125 },
brightMax: { type: "f", value: 0.5 }
},
vertex_shader: getText( 'vs-hdr' ),
fragment_shader: getText( 'fs-hdr' )
vertexShader: getText( 'vs-hdr' ),
fragmentShader: getText( 'fs-hdr' )
} );
......
......@@ -118,7 +118,7 @@
[ material, scale*1.5, [0,0,0], geometry2 ],
[ material, scale*1.5, [d,0,0], geometry3 ] ];
material.vertex_colors = true;
material.vertexColors = true;
for ( i = 0; i < parameters.length; ++i ) {
......@@ -140,7 +140,7 @@
sceneScreen = new THREE.Scene();
var pars = { min_filter: THREE.LinearFilter, mag_filter: THREE.LinearFilter };
var pars = { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter };
rtTexture1 = new THREE.RenderTarget( window.innerWidth, window.innerHeight, pars );
rtTexture2 = new THREE.RenderTarget( 512, 512, pars );
rtTexture3 = new THREE.RenderTarget( 512, 512, pars );
......@@ -154,8 +154,8 @@
materialScreen = new THREE.MeshShaderMaterial( {
uniforms: screen_uniforms,
vertex_shader: screen_shader.vertex_shader,
fragment_shader: screen_shader.fragment_shader,
vertexShader: screen_shader.vertexShader,
fragmentShader: screen_shader.fragmentShader,
blending: THREE.AdditiveBlending
} );
......@@ -173,8 +173,8 @@
materialConvolution = new THREE.MeshShaderMaterial( {
uniforms: convolution_uniforms,
vertex_shader: "#define KERNEL_SIZE 25.0\n" + convolution_shader.vertex_shader,
fragment_shader: "#define KERNEL_SIZE 25\n" + convolution_shader.fragment_shader
vertexShader: "#define KERNEL_SIZE 25.0\n" + convolution_shader.vertexShader,
fragmentShader: "#define KERNEL_SIZE 25\n" + convolution_shader.fragmentShader
} );
......
......@@ -227,31 +227,31 @@
var mlib = {
"Orange": new THREE.MeshLambertMaterial( { color: 0xff6600, env_map: textureCube, combine: THREE.MixOperation, reflectivity: 0.3 } ),
"Blue": new THREE.MeshLambertMaterial( { color: 0x001133, env_map: textureCube, combine: THREE.MixOperation, reflectivity: 0.3 } ),
"Red": new THREE.MeshLambertMaterial( { color: 0x660000, env_map: textureCube, combine: THREE.MixOperation, reflectivity: 0.25 } ),
"Black": new THREE.MeshLambertMaterial( { color: 0x000000, env_map: textureCube, combine: THREE.MixOperation, reflectivity: 0.15 } ),
"White": new THREE.MeshLambertMaterial( { color: 0xffffff, env_map: textureCube, combine: THREE.MixOperation, reflectivity: 0.25 } ),
"Carmine": new THREE.MeshPhongMaterial( { color: 0x770000, specular:0xffaaaa, env_map: textureCube, combine: THREE.MultiplyOperation } ),
"Gold": new THREE.MeshPhongMaterial( { color: 0xaa9944, specular:0xbbaa99, shininess:50, env_map: textureCube, combine: THREE.MultiplyOperation } ),
"Bronze": new THREE.MeshPhongMaterial( { color: 0x150505, specular:0xee6600, shininess:10, env_map: textureCube, combine: THREE.MixOperation, reflectivity: 0.25 } ),
"Chrome": new THREE.MeshPhongMaterial( { color: 0xffffff, specular:0xffffff, env_map: textureCube, combine: THREE.Multiply } ),
"Orange metal": new THREE.MeshLambertMaterial( { color: 0xff6600, env_map: textureCube, combine: THREE.MultiplyOperation } ),
"Blue metal": new THREE.MeshLambertMaterial( { color: 0x001133, env_map: textureCube, combine: THREE.MultiplyOperation } ),
"Red metal": new THREE.MeshLambertMaterial( { color: 0x770000, env_map: textureCube, combine: THREE.MultiplyOperation } ),
"Green metal": new THREE.MeshLambertMaterial( { color: 0x007711, env_map: textureCube, combine: THREE.MultiplyOperation } ),
"Black metal": new THREE.MeshLambertMaterial( { color: 0x222222, env_map: textureCube, combine: THREE.MultiplyOperation } ),
"Pure chrome": new THREE.MeshLambertMaterial( { color: 0xffffff, env_map: textureCube } ),
"Dark chrome": new THREE.MeshLambertMaterial( { color: 0x444444, env_map: textureCube } ),
"Darker chrome":new THREE.MeshLambertMaterial( { color: 0x222222, env_map: textureCube } ),
"Black glass": new THREE.MeshLambertMaterial( { color: 0x101016, env_map: textureCube, opacity: 0.975 } ),
"Dark glass": new THREE.MeshLambertMaterial( { color: 0x101046, env_map: textureCube, opacity: 0.25 } ),
"Blue glass": new THREE.MeshLambertMaterial( { color: 0x668899, env_map: textureCube, opacity: 0.75 } ),
"Light glass": new THREE.MeshBasicMaterial( { color: 0x223344, env_map: textureCube, opacity: 0.25, combine: THREE.MixOperation, reflectivity: 0.25 } ),
"Orange": new THREE.MeshLambertMaterial( { color: 0xff6600, envMap: textureCube, combine: THREE.MixOperation, reflectivity: 0.3 } ),
"Blue": new THREE.MeshLambertMaterial( { color: 0x001133, envMap: textureCube, combine: THREE.MixOperation, reflectivity: 0.3 } ),
"Red": new THREE.MeshLambertMaterial( { color: 0x660000, envMap: textureCube, combine: THREE.MixOperation, reflectivity: 0.25 } ),
"Black": new THREE.MeshLambertMaterial( { color: 0x000000, envMap: textureCube, combine: THREE.MixOperation, reflectivity: 0.15 } ),
"White": new THREE.MeshLambertMaterial( { color: 0xffffff, envMap: textureCube, combine: THREE.MixOperation, reflectivity: 0.25 } ),
"Carmine": new THREE.MeshPhongMaterial( { color: 0x770000, specular:0xffaaaa, envMap: textureCube, combine: THREE.MultiplyOperation } ),
"Gold": new THREE.MeshPhongMaterial( { color: 0xaa9944, specular:0xbbaa99, shininess:50, envMap: textureCube, combine: THREE.MultiplyOperation } ),
"Bronze": new THREE.MeshPhongMaterial( { color: 0x150505, specular:0xee6600, shininess:10, envMap: textureCube, combine: THREE.MixOperation, reflectivity: 0.25 } ),
"Chrome": new THREE.MeshPhongMaterial( { color: 0xffffff, specular:0xffffff, envMap: textureCube, combine: THREE.Multiply } ),
"Orange metal": new THREE.MeshLambertMaterial( { color: 0xff6600, envMap: textureCube, combine: THREE.MultiplyOperation } ),
"Blue metal": new THREE.MeshLambertMaterial( { color: 0x001133, envMap: textureCube, combine: THREE.MultiplyOperation } ),
"Red metal": new THREE.MeshLambertMaterial( { color: 0x770000, envMap: textureCube, combine: THREE.MultiplyOperation } ),
"Green metal": new THREE.MeshLambertMaterial( { color: 0x007711, envMap: textureCube, combine: THREE.MultiplyOperation } ),
"Black metal": new THREE.MeshLambertMaterial( { color: 0x222222, envMap: textureCube, combine: THREE.MultiplyOperation } ),
"Pure chrome": new THREE.MeshLambertMaterial( { color: 0xffffff, envMap: textureCube } ),
"Dark chrome": new THREE.MeshLambertMaterial( { color: 0x444444, envMap: textureCube } ),
"Darker chrome":new THREE.MeshLambertMaterial( { color: 0x222222, envMap: textureCube } ),
"Black glass": new THREE.MeshLambertMaterial( { color: 0x101016, envMap: textureCube, opacity: 0.975 } ),
"Dark glass": new THREE.MeshLambertMaterial( { color: 0x101046, envMap: textureCube, opacity: 0.25 } ),
"Blue glass": new THREE.MeshLambertMaterial( { color: 0x668899, envMap: textureCube, opacity: 0.75 } ),
"Light glass": new THREE.MeshBasicMaterial( { color: 0x223344, envMap: textureCube, opacity: 0.25, combine: THREE.MixOperation, reflectivity: 0.25 } ),
"Red glass": new THREE.MeshLambertMaterial( { color: 0xff0000, opacity: 0.75 } ),
"Yellow glass": new THREE.MeshLambertMaterial( { color: 0xffffaa, opacity: 0.75 } ),
......
......@@ -124,25 +124,25 @@
var camaroMaterials = {
body: [],
chrome: new THREE.MeshLambertMaterial( { color: 0xffffff, env_map: textureCube } ),
darkchrome: new THREE.MeshLambertMaterial( { color: 0x444444, env_map: textureCube } ),
glass: new THREE.MeshBasicMaterial( { color: 0x223344, env_map: textureCube, opacity: 0.25, combine: THREE.MixOperation, reflectivity: 0.25 } ),
chrome: new THREE.MeshLambertMaterial( { color: 0xffffff, envMap: textureCube } ),
darkchrome: new THREE.MeshLambertMaterial( { color: 0x444444, envMap: textureCube } ),
glass: new THREE.MeshBasicMaterial( { color: 0x223344, envMap: textureCube, opacity: 0.25, combine: THREE.MixOperation, reflectivity: 0.25 } ),
tire: new THREE.MeshLambertMaterial( { color: 0x050505 } ),
interior: new THREE.MeshPhongMaterial( { color: 0x050505, shininess: 20 } ),
black: new THREE.MeshLambertMaterial( { color: 0x000000 } )
}
camaroMaterials.body.push( [ "Orange", new THREE.MeshLambertMaterial( { color: 0xff6600, env_map: textureCube, combine: THREE.MixOperation, reflectivity: 0.3 } ) ] );
camaroMaterials.body.push( [ "Blue", new THREE.MeshLambertMaterial( { color: 0x226699, env_map: textureCube, combine: THREE.MixOperation, reflectivity: 0.3 } ) ] );
camaroMaterials.body.push( [ "Red", new THREE.MeshLambertMaterial( { color: 0x660000, env_map: textureCube, combine: THREE.MixOperation, reflectivity: 0.5 } ) ] );
camaroMaterials.body.push( [ "Black", new THREE.MeshLambertMaterial( { color: 0x000000, env_map: textureCube, combine: THREE.MixOperation, reflectivity: 0.5 } ) ] );
camaroMaterials.body.push( [ "White", new THREE.MeshLambertMaterial( { color: 0xffffff, env_map: textureCube, combine: THREE.MixOperation, reflectivity: 0.5 } ) ] );
camaroMaterials.body.push( [ "Orange", new THREE.MeshLambertMaterial( { color: 0xff6600, envMap: textureCube, combine: THREE.MixOperation, reflectivity: 0.3 } ) ] );
camaroMaterials.body.push( [ "Blue", new THREE.MeshLambertMaterial( { color: 0x226699, envMap: textureCube, combine: THREE.MixOperation, reflectivity: 0.3 } ) ] );
camaroMaterials.body.push( [ "Red", new THREE.MeshLambertMaterial( { color: 0x660000, envMap: textureCube, combine: THREE.MixOperation, reflectivity: 0.5 } ) ] );
camaroMaterials.body.push( [ "Black", new THREE.MeshLambertMaterial( { color: 0x000000, envMap: textureCube, combine: THREE.MixOperation, reflectivity: 0.5 } ) ] );
camaroMaterials.body.push( [ "White", new THREE.MeshLambertMaterial( { color: 0xffffff, envMap: textureCube, combine: THREE.MixOperation, reflectivity: 0.5 } ) ] );
camaroMaterials.body.push( [ "Carmine", new THREE.MeshPhongMaterial( { color: 0x770000, specular:0xffaaaa, env_map: textureCube, combine: THREE.MultiplyOperation } ) ] );
camaroMaterials.body.push( [ "Gold", new THREE.MeshPhongMaterial( { color: 0xaa9944, specular:0xbbaa99, shininess:50, env_map: textureCube, combine: THREE.MultiplyOperation } ) ] );
camaroMaterials.body.push( [ "Bronze", new THREE.MeshPhongMaterial( { color: 0x150505, specular:0xee6600, shininess:10, env_map: textureCube, combine: THREE.MixOperation, reflectivity: 0.5 } ) ] );
camaroMaterials.body.push( [ "Chrome", new THREE.MeshPhongMaterial( { color: 0xffffff, specular:0xffffff, env_map: textureCube, combine: THREE.MultiplyOperation } ) ] );
camaroMaterials.body.push( [ "Carmine", new THREE.MeshPhongMaterial( { color: 0x770000, specular:0xffaaaa, envMap: textureCube, combine: THREE.MultiplyOperation } ) ] );
camaroMaterials.body.push( [ "Gold", new THREE.MeshPhongMaterial( { color: 0xaa9944, specular:0xbbaa99, shininess:50, envMap: textureCube, combine: THREE.MultiplyOperation } ) ] );
camaroMaterials.body.push( [ "Bronze", new THREE.MeshPhongMaterial( { color: 0x150505, specular:0xee6600, shininess:10, envMap: textureCube, combine: THREE.MixOperation, reflectivity: 0.5 } ) ] );
camaroMaterials.body.push( [ "Chrome", new THREE.MeshPhongMaterial( { color: 0xffffff, specular:0xffffff, envMap: textureCube, combine: THREE.MultiplyOperation } ) ] );
var loader = new THREE.Loader();
loader.loadBinary( { model: "obj/camaro/CamaroNoUv_bin.js", callback: function( geometry ) { createScene( geometry, camaroMaterials ) } } );
......
......@@ -107,10 +107,10 @@
var reflectionCube = ImageUtils.loadTextureCube( urls );
var refractionCube = new THREE.Texture( reflectionCube.image, new THREE.CubeRefractionMapping() );
//var cubeMaterial3 = new THREE.MeshPhongMaterial( { color: 0x000000, specular:0xaa0000, env_map: reflectionCube, combine: THREE.MixOperation, reflectivity: 0.25 } );
var cubeMaterial3 = new THREE.MeshLambertMaterial( { color: 0xff6600, env_map: reflectionCube, combine: THREE.MixOperation, reflectivity: 0.3 } );
var cubeMaterial2 = new THREE.MeshLambertMaterial( { color: 0xffee00, env_map: refractionCube, refraction_ratio: 0.95 } );
var cubeMaterial1 = new THREE.MeshLambertMaterial( { color: 0xffffff, env_map: reflectionCube } )
//var cubeMaterial3 = new THREE.MeshPhongMaterial( { color: 0x000000, specular:0xaa0000, envMap: reflectionCube, combine: THREE.MixOperation, reflectivity: 0.25 } );
var cubeMaterial3 = new THREE.MeshLambertMaterial( { color: 0xff6600, envMap: reflectionCube, combine: THREE.MixOperation, reflectivity: 0.3 } );
var cubeMaterial2 = new THREE.MeshLambertMaterial( { color: 0xffee00, envMap: refractionCube, refractionRatio: 0.95 } );
var cubeMaterial1 = new THREE.MeshLambertMaterial( { color: 0xffffff, envMap: reflectionCube } )
SceneUtils.addPanoramaCubeWebGL( sceneCube, 100000, reflectionCube );
......
......@@ -91,7 +91,7 @@
];
var textureCube = ImageUtils.loadTextureCube( urls );
var material = new THREE.MeshBasicMaterial( { color: 0xffffff, env_map: textureCube } );
var material = new THREE.MeshBasicMaterial( { color: 0xffffff, envMap: textureCube } );
for ( var i = 0; i < 200; i ++ ) {
......
......@@ -91,7 +91,7 @@
];
var textureCube = ImageUtils.loadTextureCube( urls, new THREE.CubeRefractionMapping() );
var material = new THREE.MeshBasicMaterial( { color: 0xffffff, env_map: textureCube, refraction_ratio: 0.95 } );
var material = new THREE.MeshBasicMaterial( { color: 0xffffff, envMap: textureCube, refractionRatio: 0.95 } );
for ( var i = 0; i < 200; i ++ ) {
......
......@@ -80,7 +80,7 @@
r + "pz.jpg", r + "nz.jpg" ];
var textureCube = ImageUtils.loadTextureCube( urls );
var material = new THREE.MeshBasicMaterial( { color: 0xffffff, env_map: textureCube } )
var material = new THREE.MeshBasicMaterial( { color: 0xffffff, envMap: textureCube } )
var geometry = new Sphere( 100, 96, 64 );
var mesh = new THREE.Mesh( geometry, material );
......
......@@ -104,9 +104,9 @@
var textureCube = ImageUtils.loadTextureCube( urls, new THREE.CubeRefractionMapping() );
var cubeMaterial3 = new THREE.MeshBasicMaterial( { color: 0xccddff, env_map: textureCube, refraction_ratio: 0.98, reflectivity:0.9 } );
var cubeMaterial2 = new THREE.MeshBasicMaterial( { color: 0xccfffd, env_map: textureCube, refraction_ratio: 0.985 } );
var cubeMaterial1 = new THREE.MeshBasicMaterial( { color: 0xffffff, env_map: textureCube, refraction_ratio: 0.98 } )
var cubeMaterial3 = new THREE.MeshBasicMaterial( { color: 0xccddff, envMap: textureCube, refractionRatio: 0.98, reflectivity:0.9 } );
var cubeMaterial2 = new THREE.MeshBasicMaterial( { color: 0xccfffd, envMap: textureCube, refractionRatio: 0.985 } );
var cubeMaterial1 = new THREE.MeshBasicMaterial( { color: 0xffffff, envMap: textureCube, refractionRatio: 0.98 } )
//SceneUtils.addPanoramaCubePlanes( sceneCube, 100000, images );
//SceneUtils.addPanoramaCube( sceneCube, 100000, images );
......
......@@ -155,7 +155,7 @@
uniforms[ "uShininess" ].value = shininess;
var parameters = { fragment_shader: shader.fragment_shader, vertex_shader: shader.vertex_shader, uniforms: uniforms };
var parameters = { fragmentShader: shader.fragmentShader, vertexShader: shader.vertexShader, uniforms: uniforms };
var material1 = new THREE.MeshShaderMaterial( parameters );
var material2 = new THREE.MeshPhongMaterial( { color: diffuse, specular: specular, ambient: ambient, shininess: shininess } );
......
......@@ -138,7 +138,7 @@
uniforms[ "uShininess" ].value = shininess;
var parameters = { fragment_shader: shader.fragment_shader, vertex_shader: shader.vertex_shader, uniforms: uniforms };
var parameters = { fragmentShader: shader.fragmentShader, vertexShader: shader.vertexShader, uniforms: uniforms };
var material = new THREE.MeshShaderMaterial( parameters );
loader = new THREE.Loader( true );
......
......@@ -99,7 +99,7 @@
uniforms["tCube"].texture = textureCube;
var parameters = { fragment_shader: shader.fragment_shader, vertex_shader: shader.vertex_shader, uniforms: uniforms };
var parameters = { fragmentShader: shader.fragmentShader, vertexShader: shader.vertexShader, uniforms: uniforms };
var material = new THREE.MeshShaderMaterial( parameters );
for ( var i = 0; i < 200; i ++ ) {
......
......@@ -102,8 +102,8 @@
//video.muted = true;
texture = new THREE.Texture( video );
texture.min_filter = THREE.LinearFilter;
texture.mag_filter = THREE.LinearFilter;
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
//
......@@ -204,7 +204,7 @@
postprocessing.camera.projectionMatrix = THREE.Matrix4.makeOrtho( window.innerWidth / - 2, window.innerWidth / 2, window.innerHeight / 2, window.innerHeight / - 2, -10000, 10000 );
postprocessing.camera.position.z = 100;
var pars = { min_filter: THREE.LinearFilter, mag_filter: THREE.LinearFilter };
var pars = { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter };
postprocessing.rtTexture1 = new THREE.RenderTarget( window.innerWidth, window.innerHeight, pars );
postprocessing.rtTexture2 = new THREE.RenderTarget( 512, 512, pars );
postprocessing.rtTexture3 = new THREE.RenderTarget( 512, 512, pars );
......@@ -218,8 +218,8 @@
postprocessing.materialScreen = new THREE.MeshShaderMaterial( {
uniforms: screen_uniforms,
vertex_shader: screen_shader.vertex_shader,
fragment_shader: screen_shader.fragment_shader,
vertexShader: screen_shader.vertexShader,
fragmentShader: screen_shader.fragmentShader,
blending: THREE.AdditiveBlending
} );
......@@ -237,8 +237,8 @@
postprocessing.materialConvolution = new THREE.MeshShaderMaterial( {
uniforms: convolution_uniforms,
vertex_shader: "#define KERNEL_SIZE 25.0\n" + convolution_shader.vertex_shader,
fragment_shader: "#define KERNEL_SIZE 25\n" + convolution_shader.fragment_shader
vertexShader: "#define KERNEL_SIZE 25.0\n" + convolution_shader.vertexShader,
fragmentShader: "#define KERNEL_SIZE 25\n" + convolution_shader.fragmentShader
} );
......
......@@ -85,7 +85,7 @@
geometry.colors = colors;
material = new THREE.ParticleBasicMaterial( { size: 35, map: sprite, blending: THREE.BillboardBlending, vertex_colors: true } );
material = new THREE.ParticleBasicMaterial( { size: 35, map: sprite, blending: THREE.BillboardBlending, vertexColors: true } );
material.color.setHSV( 1.0, 0.2, 0.8 );
particles = new THREE.ParticleSystem( geometry, material );
......
......@@ -91,7 +91,7 @@
sprite = parameters[i][1];
size = parameters[i][2];
materials[i] = new THREE.ParticleBasicMaterial( { size: size, map: sprite, blending: THREE.AdditiveBlending, depth_test: false } );
materials[i] = new THREE.ParticleBasicMaterial( { size: size, map: sprite, blending: THREE.AdditiveBlending, depthTest: false } );
materials[i].color.setHSV( color[0], color[1], color[2] );
particles = new THREE.ParticleSystem( geometry, materials[i] );
......
......@@ -107,16 +107,16 @@
directionalLight.position.normalize();
sceneModel.addLight( directionalLight );
rtTexture1 = new THREE.RenderTarget( window.innerWidth, window.innerHeight, { min_filter: THREE.LinearFilter, mag_filter: THREE.NearestFilter } );
rtTexture2 = new THREE.RenderTarget( 256, 512, { min_filter: THREE.LinearFilter, mag_filter: THREE.LinearFilter } );
rtTexture3 = new THREE.RenderTarget( 512, 256, { min_filter: THREE.LinearFilter, mag_filter: THREE.LinearFilter } );
rtTexture1 = new THREE.RenderTarget( window.innerWidth, window.innerHeight, { minFilter: THREE.LinearFilter, magFilter: THREE.NearestFilter } );
rtTexture2 = new THREE.RenderTarget( 256, 512, { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter } );
rtTexture3 = new THREE.RenderTarget( 512, 256, { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter } );
materialColor = new THREE.MeshShaderMaterial( {
uniforms: { time: { type: "f", value: 0.0 } },
vertex_shader: getText( 'vs-generic' ),
fragment_shader: getText( 'fs-colors' ),
depth_test: false
vertexShader: getText( 'vs-generic' ),
fragmentShader: getText( 'fs-colors' ),
depthTest: false
} );
......@@ -129,8 +129,8 @@
materialScreen = new THREE.MeshShaderMaterial( {
uniforms: screen_uniforms,
vertex_shader: screen_shader.vertex_shader,
fragment_shader: screen_shader.fragment_shader,
vertexShader: screen_shader.vertexShader,
fragmentShader: screen_shader.fragmentShader,
blending: THREE.AdditiveBlending
} );
......@@ -145,8 +145,8 @@
materialFilm = new THREE.MeshShaderMaterial( {
uniforms: film_uniforms,
vertex_shader: film_shader.vertex_shader,
fragment_shader: film_shader.fragment_shader
vertexShader: film_shader.vertexShader,
fragmentShader: film_shader.fragmentShader
} );
......@@ -165,8 +165,8 @@
materialConvolution = new THREE.MeshShaderMaterial( {
uniforms: convolution_uniforms,
vertex_shader: "#define KERNEL_SIZE 25.0\n" + convolution_shader.vertex_shader,
fragment_shader: "#define KERNEL_SIZE 25\n" + convolution_shader.fragment_shader
vertexShader: "#define KERNEL_SIZE 25.0\n" + convolution_shader.vertexShader,
fragmentShader: "#define KERNEL_SIZE 25\n" + convolution_shader.fragmentShader
} );
......@@ -233,7 +233,7 @@
uniforms[ "uShininess" ].value = shininess;
var parameters = { fragment_shader: shader.fragment_shader, vertex_shader: shader.vertex_shader, uniforms: uniforms };
var parameters = { fragmentShader: shader.fragmentShader, vertexShader: shader.vertexShader, uniforms: uniforms };
var mat2 = new THREE.MeshShaderMaterial( parameters );
mesh = new THREE.Mesh( geometry, mat2 );
......
<!DOCTYPE HTML>
<html lang="en">
<head>
<title>three.js - postprocessing - depth-of-field - webgl</title>
<title>three.js webgl - postprocessing - depth-of-field</title>
<meta charset="utf-8">
<style type="text/css">
body {
......@@ -102,7 +102,7 @@
var textureCube = ImageUtils.loadTextureCube( urls );
parameters = { color: 0xff1100, env_map: textureCube, shading: THREE.FlatShading };
parameters = { color: 0xff1100, envMap: textureCube, shading: THREE.FlatShading };
//parameters = { color: 0xff1100, shading: THREE.FlatShading };
cubeMaterial = new THREE.MeshBasicMaterial( parameters );
......@@ -241,7 +241,7 @@
postprocessing.camera.projectionMatrix = THREE.Matrix4.makeOrtho( window.innerWidth / - 2, window.innerWidth / 2, window.innerHeight / 2, window.innerHeight / - 2, -10000, 10000 );
postprocessing.camera.position.z = 100;
var pars = { min_filter: THREE.LinearFilter, mag_filter: THREE.LinearFilter };
var pars = { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter };
postprocessing.rtTextureDepth = new THREE.RenderTarget( window.innerWidth, height, pars );
postprocessing.rtTextureColor = new THREE.RenderTarget( window.innerWidth, height, pars );
......@@ -257,8 +257,8 @@
postprocessing.materialBokeh = new THREE.MeshShaderMaterial( {
uniforms: postprocessing.bokeh_uniforms,
vertex_shader: bokeh_shader.vertex_shader,
fragment_shader: bokeh_shader.fragment_shader
vertexShader: bokeh_shader.vertexShader,
fragmentShader: bokeh_shader.fragmentShader
} );
......
......@@ -116,7 +116,7 @@
var tmpRot = new THREE.Matrix4();
tmpRot.setRotAxis( new THREE.Vector3( 1, 0, 0 ), 1.57 );
var material_base = new THREE.MeshBasicMaterial( { color:0xffffff, vertex_colors:true } );
var material_base = new THREE.MeshBasicMaterial( { color:0xffffff, vertexColors:true } );
renderer.initMaterial( material_base, scene.lights, scene.fog );
......@@ -128,7 +128,7 @@
for ( i = 0; i < xgrid; i++ )
for ( j = 0; j < ygrid; j++ ) {
materials[c] = new THREE.MeshBasicMaterial( { color:0xffffff, vertex_colors:true } );
materials[c] = new THREE.MeshBasicMaterial( { color:0xffffff, vertexColors:true } );
materials[c].program = material_base.program;
materials[c].uniforms = Uniforms.clone( THREE.ShaderLib[ 'basic' ].uniforms );
......@@ -232,7 +232,7 @@
postprocessing.camera.projectionMatrix = THREE.Matrix4.makeOrtho( window.innerWidth / - 2, window.innerWidth / 2, window.innerHeight / 2, window.innerHeight / - 2, -10000, 10000 );
postprocessing.camera.position.z = 100;
var pars = { min_filter: THREE.LinearFilter, mag_filter: THREE.LinearFilter };
var pars = { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter };
postprocessing.rtTexture1 = new THREE.RenderTarget( window.innerWidth, window.innerHeight, pars );
postprocessing.rtTexture2 = new THREE.RenderTarget( 512, 512, pars );
postprocessing.rtTexture3 = new THREE.RenderTarget( 512, 512, pars );
......@@ -246,8 +246,8 @@
postprocessing.materialScreen = new THREE.MeshShaderMaterial( {
uniforms: screen_uniforms,
vertex_shader: screen_shader.vertex_shader,
fragment_shader: screen_shader.fragment_shader,
vertexShader: screen_shader.vertexShader,
fragmentShader: screen_shader.fragmentShader,
blending: THREE.AdditiveBlending
} );
......@@ -265,8 +265,8 @@
postprocessing.materialConvolution = new THREE.MeshShaderMaterial( {
uniforms: convolution_uniforms,
vertex_shader: "#define KERNEL_SIZE 25.0\n" + convolution_shader.vertex_shader,
fragment_shader: "#define KERNEL_SIZE 25\n" + convolution_shader.fragment_shader
vertexShader: "#define KERNEL_SIZE 25.0\n" + convolution_shader.vertexShader,
fragmentShader: "#define KERNEL_SIZE 25\n" + convolution_shader.fragmentShader
} );
......
......@@ -67,7 +67,7 @@
}
</script>
<script id="vertex_shader" type="x-shader/x-vertex">
<script id="vertexShader" type="x-shader/x-vertex">
varying vec2 vUv;
void main() {
......@@ -130,21 +130,21 @@
light.position.normalize();
sceneRTT.addLight( light );
rtTexture = new THREE.RenderTarget( window.innerWidth, window.innerHeight, { min_filter: THREE.LinearFilter, mag_filter: THREE.NearestFilter } );
rtTexture = new THREE.RenderTarget( window.innerWidth, window.innerHeight, { minFilter: THREE.LinearFilter, magFilter: THREE.NearestFilter } );
material = new THREE.MeshShaderMaterial( {
uniforms: { time: { type: "f", value: 0.0 } },
vertex_shader: document.getElementById( 'vertex_shader' ).textContent,
fragment_shader: document.getElementById( 'fragment_shader_pass_1' ).textContent
vertexShader: document.getElementById( 'vertexShader' ).textContent,
fragmentShader: document.getElementById( 'fragment_shader_pass_1' ).textContent
} );
var materialScreen = new THREE.MeshShaderMaterial( {
uniforms: { tDiffuse: { type: "t", value: 0, texture: rtTexture } },
vertex_shader: document.getElementById( 'vertex_shader' ).textContent,
fragment_shader: document.getElementById( 'fragment_shader_screen' ).textContent
vertexShader: document.getElementById( 'vertexShader' ).textContent,
fragmentShader: document.getElementById( 'fragment_shader_screen' ).textContent
} );
......
......@@ -145,8 +145,8 @@
var geometry = new Sphere( 50, 32, 16 );
var uniforms = ShaderUtils.lib[ 'basic' ].uniforms;
var vertex_shader = ShaderUtils.lib[ 'basic' ].vertex_shader;
var fragment_shader = ShaderUtils.lib[ 'basic' ].fragment_shader;
var vertexShader = ShaderUtils.lib[ 'basic' ].vertexShader;
var fragmentShader = ShaderUtils.lib[ 'basic' ].fragmentShader;
var texture = new THREE.Texture( generateTexture( 0, 0.5, 1 ), new THREE.UVMapping() );
var texture2 = new THREE.Texture( generateTexture( 0, 1, 0 ), new THREE.SphericalReflectionMapping() );
......@@ -158,8 +158,8 @@
new THREE.MeshBasicMaterial( { color: 0x0066ff, blending: THREE.AdditiveBlending } ),
new THREE.MeshBasicMaterial( { map: texture, fog: false } ),
new THREE.MeshBasicMaterial( { map: ImageUtils.loadTexture( 'textures/land_ocean_ice_cloud_2048.jpg' ) } ),
new THREE.MeshBasicMaterial( { map: texture2, env_map: ImageUtils.loadTexture( 'textures/envmap.png', new THREE.SphericalReflectionMapping() ) } ),
new THREE.MeshShaderMaterial( { uniforms: uniforms, vertex_shader: vertex_shader, fragment_shader: fragment_shader } )
new THREE.MeshBasicMaterial( { map: texture2, envMap: ImageUtils.loadTexture( 'textures/envmap.png', new THREE.SphericalReflectionMapping() ) } ),
new THREE.MeshShaderMaterial( { uniforms: uniforms, vertexShader: vertexShader, fragmentShader: fragmentShader } )
/*
new THREE.MeshLambertMaterial( { color: 0xdddddd, shading: THREE.FlatShading } ),
......@@ -169,10 +169,10 @@
new THREE.MeshNormalMaterial( { shading: THREE.SmoothShading } ),
new THREE.MeshBasicMaterial( { color: 0xffaa00, wireframe: true } ),
new THREE.MeshBasicMaterial( { map: texture, fog: false } ),
new THREE.MeshBasicMaterial( { env_map: texture2, fog: false } ),
new THREE.MeshBasicMaterial( { envMap: texture2, fog: false } ),
new THREE.MeshLambertMaterial( { map: ImageUtils.loadTexture( 'textures/land_ocean_ice_cloud_2048.jpg' ) } ),
new THREE.MeshLambertMaterial( { map: texture2, env_map: ImageUtils.loadTexture( 'textures/envmap.png', new THREE.SphericalReflectionMapping() ) } ),
new THREE.MeshShaderMaterial( { uniforms: uniforms, vertex_shader: vertex_shader, fragment_shader: fragment_shader } )
new THREE.MeshLambertMaterial( { map: texture2, envMap: ImageUtils.loadTexture( 'textures/envmap.png', new THREE.SphericalReflectionMapping() ) } ),
new THREE.MeshShaderMaterial( { uniforms: uniforms, vertexShader: vertexShader, fragmentShader: fragmentShader } )
*/
];
......@@ -186,7 +186,7 @@
materials.push( new THREE.MeshFaceMaterial() );
// materials = [ new THREE.MeshBasicMaterial( { map: texture, env_map: texture2 } ) ];
// materials = [ new THREE.MeshBasicMaterial( { map: texture, envMap: texture2 } ) ];
for ( var i = 0; i < 5000; i ++ ) {
......
......@@ -41,14 +41,14 @@
<script type="text/javascript" src="js/RequestAnimationFrame.js"></script>
<script type="text/javascript" src="js/Stats.js"></script>
<script id="vertex_shader" type="x-shader/x-vertex">
<script id="vertexShader" type="x-shader/x-vertex">
void main()
{
gl_Position = vec4( position, 1.0 );
}
</script>
<script id="fragment_shader" type="x-shader/x-fragment">
<script id="fragmentShader" type="x-shader/x-fragment">
#ifdef GL_ES
precision highp float;
#endif
......@@ -120,8 +120,8 @@
material = new THREE.MeshShaderMaterial( {
uniforms: uniforms,
vertex_shader: document.getElementById( 'vertex_shader' ).textContent,
fragment_shader: document.getElementById( 'fragment_shader' ).textContent
vertexShader: document.getElementById( 'vertexShader' ).textContent,
fragmentShader: document.getElementById( 'fragmentShader' ).textContent
} );
......
......@@ -155,7 +155,7 @@
</script>
<script id="vertex_shader" type="x-shader/x-vertex">
<script id="vertexShader" type="x-shader/x-vertex">
varying vec2 vUv;
......@@ -211,7 +211,7 @@
texture: { type: "t", value: 0, texture: ImageUtils.loadTexture( "textures/disturb.jpg" ) }
};
uniforms2.texture.texture.wrap_s = uniforms2.texture.texture.wrap_t = THREE.Repeat;
uniforms2.texture.texture.wrapS = uniforms2.texture.texture.wrapT = THREE.Repeat;
var size = 0.75, mlib = [],
params = [ [ 'fragment_shader1', uniforms1 ], [ 'fragment_shader2', uniforms2 ], [ 'fragment_shader3', uniforms1 ], [ 'fragment_shader4', uniforms1 ] ];
......@@ -221,8 +221,8 @@
material = new THREE.MeshShaderMaterial( {
uniforms: params[ i ][ 1 ],
vertex_shader: document.getElementById( 'vertex_shader' ).textContent,
fragment_shader: document.getElementById( params[ i ][ 0 ] ).textContent
vertexShader: document.getElementById( 'vertexShader' ).textContent,
fragmentShader: document.getElementById( params[ i ][ 0 ] ).textContent
} );
......
......@@ -27,12 +27,12 @@ THREE.Camera = function( fov, aspect, near, far, target ) {
this.tmpVec = new THREE.Vector3();
this.translateX = function ( amount, nofly ) {
this.translateX = function ( amount, noFly ) {
this.tmpVec.sub( this.target.position, this.position ).normalize().multiplyScalar( amount );
this.tmpVec.crossSelf( this.up );
if ( nofly ) this.tmpVec.y = 0;
if ( noFly ) this.tmpVec.y = 0;
this.position.addSelf( this.tmpVec );
this.target.position.addSelf( this.tmpVec );
......@@ -45,11 +45,11 @@ THREE.Camera = function( fov, aspect, near, far, target ) {
};
*/
this.translateZ = function ( amount, nofly ) {
this.translateZ = function ( amount, noFly ) {
this.tmpVec.sub( this.target.position, this.position ).normalize().multiplyScalar( amount );
if ( nofly ) this.tmpVec.y = 0;
if ( noFly ) this.tmpVec.y = 0;
this.position.subSelf( this.tmpVec );
this.target.position.subSelf( this.tmpVec );
......
......@@ -2,6 +2,22 @@
* @author mrdoob / http://mrdoob.com/
* @author alteredq / http://alteredqualia.com/
* @author paulirish / http://paulirish.com/
*
* parameters = {
* fov: <float>,
* aspect: <float>,
* near: <float>,
* far: <float>,
* target: <THREE.Object3D>,
* movementSpeed: <float>,
* lookSpeed: <float>,
* noFly: <bool>,
* lookVertical: <bool>,
* domElement: <HTMLElement>,
* }
*/
function bind( scope, fn ) {
......@@ -14,24 +30,25 @@ function bind( scope, fn ) {
}
THREE.QuakeCamera = function ( parameters ) {
THREE.Camera.call( this, parameters.fov, parameters.aspect, parameters.near, parameters.far, parameters.target );
this.movement_speed = 1.0;
this.look_speed = 0.005;
this.movementSpeed = 1.0;
this.lookSpeed = 0.005;
this.nofly = false;
this.look_vertical = true;
this.noFly = false;
this.lookVertical = true;
this.domElement = document;
if ( parameters ) {
if ( parameters.movement_speed !== undefined ) this.movement_speed = parameters.movement_speed;
if ( parameters.look_speed !== undefined ) this.look_speed = parameters.look_speed;
if ( parameters.nofly !== undefined ) this.nofly = parameters.nofly;
if ( parameters.look_vertical !== undefined ) this.look_vertical = parameters.look_vertical;
if ( parameters.movementSpeed !== undefined ) this.movementSpeed = parameters.movementSpeed;
if ( parameters.lookSpeed !== undefined ) this.lookSpeed = parameters.lookSpeed;
if ( parameters.noFly !== undefined ) this.noFly = parameters.noFly;
if ( parameters.lookVertical !== undefined ) this.lookVertical = parameters.lookVertical;
if ( parameters.domElement !== undefined ) this.domElement = parameters.domElement;
......@@ -130,24 +147,24 @@ THREE.QuakeCamera = function ( parameters ) {
this.update = function() {
if ( this.moveForward ) this.translateZ( - this.movement_speed, this.nofly );
if ( this.moveBackward ) this.translateZ( this.movement_speed, this.nofly );
if ( this.moveLeft ) this.translateX( - this.movement_speed, this.nofly );
if ( this.moveRight ) this.translateX( this.movement_speed, this.nofly );
if ( this.moveForward ) this.translateZ( - this.movementSpeed, this.noFly );
if ( this.moveBackward ) this.translateZ( this.movementSpeed, this.noFly );
if ( this.moveLeft ) this.translateX( - this.movementSpeed, this.noFly );
if ( this.moveRight ) this.translateX( this.movementSpeed, this.noFly );
this.lon += this.mouseX * this.look_speed;
if( this.look_vertical ) this.lat -= this.mouseY * this.look_speed;
this.lon += this.mouseX * this.lookSpeed;
if( this.lookVertical ) this.lat -= this.mouseY * this.lookSpeed;
this.lat = Math.max( - 85, Math.min( 85, this.lat ) );
this.phi = ( 90 - this.lat ) * Math.PI / 180;
this.theta = this.lon * Math.PI / 180;
var target_position = this.target.position,
var targetPosition = this.target.position,
position = this.position;
target_position.x = position.x + 100 * Math.sin( this.phi ) * Math.cos( this.theta );
target_position.y = position.y + 100 * Math.cos( this.phi );
target_position.z = position.z + 100 * Math.sin( this.phi ) * Math.sin( this.theta );
targetPosition.x = position.x + 100 * Math.sin( this.phi ) * Math.cos( this.theta );
targetPosition.y = position.y + 100 * Math.cos( this.phi );
targetPosition.z = position.z + 100 * Math.sin( this.phi ) * Math.sin( this.theta );
this.supr.update.call( this );
......
/**
* @author alteredq / http://alteredqualia.com/
*/
var SceneUtils = {
loadScene : function( url, callback_sync, callback_async, callback_progress ) {
......@@ -256,17 +260,17 @@ var SceneUtils = {
if ( g.type == "cube" ) {
geometry = new Cube( g.width, g.height, g.depth, g.segments_width, g.segments_height, null, g.flipped, g.sides );
geometry = new Cube( g.width, g.height, g.depth, g.segmentsWidth, g.segmentsHeight, null, g.flipped, g.sides );
result.geometries[ dg ] = geometry;
} else if ( g.type == "plane" ) {
geometry = new Plane( g.width, g.height, g.segments_width, g.segments_height );
geometry = new Plane( g.width, g.height, g.segmentsWidth, g.segmentsHeight );
result.geometries[ dg ] = geometry;
} else if ( g.type == "sphere" ) {
geometry = new Sphere( g.radius, g.segments_width, g.segments_height );
geometry = new Sphere( g.radius, g.segmentsWidth, g.segmentsHeight );
result.geometries[ dg ] = geometry;
} else if ( g.type == "cylinder" ) {
......@@ -340,11 +344,11 @@ var SceneUtils = {
texture = ImageUtils.loadTexture( tt.url, tt.mapping, callback_texture );
if ( THREE[ tt.min_filter ] != undefined )
texture.min_filter = THREE[ tt.min_filter ];
if ( THREE[ tt.minFilter ] != undefined )
texture.minFilter = THREE[ tt.minFilter ];
if ( THREE[ tt.mag_filter ] != undefined )
texture.mag_filter = THREE[ tt.mag_filter ];
if ( THREE[ tt.magFilter ] != undefined )
texture.magFilter = THREE[ tt.magFilter ];
}
......@@ -360,7 +364,7 @@ var SceneUtils = {
for( pp in m.parameters ) {
if ( pp == "env_map" || pp == "map" || pp == "light_map" ) {
if ( pp == "envMap" || pp == "map" || pp == "lightMap" ) {
m.parameters[ pp ] = result.textures[ m.parameters[ pp ] ];
......@@ -418,8 +422,8 @@ var SceneUtils = {
var shader = ShaderUtils.lib["cube"];
shader.uniforms["tCube"].texture = textureCube;
var material = new THREE.MeshShaderMaterial( { fragment_shader: shader.fragment_shader,
vertex_shader: shader.vertex_shader,
var material = new THREE.MeshShaderMaterial( { fragmentShader: shader.fragmentShader,
vertexShader: shader.vertexShader,
uniforms: shader.uniforms
} ),
......
/**
* @author alteredq / http://alteredqualia.com/
* @author mr.doob / http://mrdoob.com/
*/
var ShaderUtils = {
lib: {
......@@ -19,7 +24,7 @@ var ShaderUtils = {
},
fragment_shader: [
fragmentShader: [
"uniform samplerCube tCube;",
......@@ -43,7 +48,7 @@ var ShaderUtils = {
].join("\n"),
vertex_shader: [
vertexShader: [
"uniform float mRefractionRatio;",
"uniform float mFresnelBias;",
......@@ -116,7 +121,7 @@ var ShaderUtils = {
},
fragment_shader: [
fragmentShader: [
"uniform vec3 uDirLightPos;",
......@@ -216,7 +221,7 @@ var ShaderUtils = {
"}"
].join("\n"),
vertex_shader: [
vertexShader: [
"attribute vec4 tangent;",
......@@ -289,7 +294,7 @@ var ShaderUtils = {
uniforms: { "tCube": { type: "t", value: 1, texture: null } },
vertex_shader: [
vertexShader: [
"varying vec3 vViewPosition;",
......@@ -304,7 +309,7 @@ var ShaderUtils = {
].join("\n"),
fragment_shader: [
fragmentShader: [
"uniform samplerCube tCube;",
......@@ -336,7 +341,7 @@ var ShaderUtils = {
"cKernel" : { type: "fv1", value: [] }
},
vertex_shader: [
vertexShader: [
"varying vec2 vUv;",
......@@ -352,7 +357,7 @@ var ShaderUtils = {
].join("\n"),
fragment_shader: [
fragmentShader: [
"varying vec2 vUv;",
......@@ -410,7 +415,7 @@ var ShaderUtils = {
grayscale: { type: "i", value: 1 }
},
vertex_shader: [
vertexShader: [
"varying vec2 vUv;",
......@@ -423,7 +428,7 @@ var ShaderUtils = {
].join("\n"),
fragment_shader: [
fragmentShader: [
"varying vec2 vUv;",
"uniform sampler2D tDiffuse;",
......@@ -487,7 +492,7 @@ var ShaderUtils = {
opacity: { type: "f", value: 1.0 }
},
vertex_shader: [
vertexShader: [
"varying vec2 vUv;",
......@@ -500,7 +505,7 @@ var ShaderUtils = {
].join("\n"),
fragment_shader: [
fragmentShader: [
"varying vec2 vUv;",
"uniform sampler2D tDiffuse;",
......@@ -526,7 +531,7 @@ var ShaderUtils = {
uniforms: {},
vertex_shader: [
vertexShader: [
"void main() {",
......@@ -536,7 +541,7 @@ var ShaderUtils = {
].join("\n"),
fragment_shader: [
fragmentShader: [
"void main() {",
......@@ -579,7 +584,7 @@ var ShaderUtils = {
for( i = 0; i < kernelSize; ++i ) values[ i ] /= sum;
return values;
}
};
......@@ -1238,7 +1238,7 @@ THREE.Loader.prototype = {
// defaults
mtype = "MeshLambertMaterial";
mpars = { color: 0xeeeeee, opacity: 1.0, map: null, light_map: null, vertex_colors: m.vertex_colors };
mpars = { color: 0xeeeeee, opacity: 1.0, map: null, lightMap: null, vertexColors: m.vertex_colors };
// parameters from model file
......@@ -1269,9 +1269,9 @@ THREE.Loader.prototype = {
if ( m.map_lightmap && texture_path ) {
texture = document.createElement( 'canvas' );
mpars.light_map = new THREE.Texture( texture );
mpars.lightMap = new THREE.Texture( texture );
load_image( mpars.light_map, texture_path + "/" + m.map_lightmap );
load_image( mpars.lightMap, texture_path + "/" + m.map_lightmap );
}
......
......@@ -3,7 +3,7 @@
* based on http://papervision3d.googlecode.com/svn/trunk/as3/trunk/src/org/papervision3d/objects/primitives/Cube.as
*/
var Cube = function ( width, height, depth, segments_width, segments_height, materials, flipped, sides ) {
var Cube = function ( width, height, depth, segmentsWidth, segmentsHeight, materials, flipped, sides ) {
THREE.Geometry.call( this );
......@@ -65,8 +65,8 @@ var Cube = function ( width, height, depth, segments_width, segments_height, mat
function buildPlane( u, v, udir, vdir, width, height, depth, material ) {
var w, ix, iy,
gridX = segments_width || 1,
gridY = segments_height || 1,
gridX = segmentsWidth || 1,
gridY = segmentsHeight || 1,
gridX1 = gridX + 1,
gridY1 = gridY + 1,
width_half = width / 2,
......
/**
* @author oosmoxiecode
* uvs are messed up in this one, and commented away for now. There is an ugly "seam" by the shared vertices
* when it "wraps" around, that needs to be fixed. Its because they share the first and the last vertices
* so it draws the entire texture on the seam-faces, I think...
......
......@@ -3,42 +3,65 @@
*/
function LathedObject( verts, nsteps, latheAngle ) {
THREE.Geometry.call( this );
nsteps = nsteps || 12;
latheAngle = latheAngle || 2 * Math.PI;
var stepSize = latheAngle / nsteps;
var newV = [], oldInds = [], newInds = [], startInds = [];
for ( var j = 0; j < verts.length; j ++ ) {
this.vertices.push( new THREE.Vertex( verts[ j ] ) );
oldInds[ j ] = this.vertices.length - 1;
newV[ j ] = new THREE.Vector3( verts[ j ].x, verts[ j ].y, verts[ j ].z );
}
var m = THREE.Matrix4.rotationZMatrix( stepSize );
for ( var r = 0; r <= latheAngle + 0.001; r += stepSize ) { // need the +0.001 for it go up to latheAngle
for ( var j = 0; j < newV.length; j ++ ) {
if ( r < latheAngle ) {
newV[ j ] = m.multiplyVector3( newV[ j ].clone() );
this.vertices.push( new THREE.Vertex( newV[ j ] ) );
newInds[ j ] = this.vertices.length - 1;
} else {
newInds = startInds; // wrap it up!
}
}
if ( r == 0 ) startInds = oldInds;
for ( var j = 0; j < oldInds.length - 1; j ++ ) {
this.faces.push( new THREE.Face4( newInds[ j ], newInds[ j + 1 ], oldInds[ j + 1 ], oldInds[ j ] ) );
this.uvs.push( [ new THREE.UV( r / latheAngle, j / verts.length ),
new THREE.UV( r / latheAngle, ( j + 1 ) / verts.length ),
new THREE.UV( ( r - stepSize ) / latheAngle, ( j + 1 ) / verts.length ),
new THREE.UV( ( r - stepSize ) / latheAngle, j / verts.length ) ] );
}
oldInds = newInds;
newInds = [];
}
this.computeCentroids();
this.computeFaceNormals();
this.computeVertexNormals();
this.sortFacesByMaterial();
THREE.Geometry.call( this );
this.nsteps = nsteps || 12;
this.latheAngle = latheAngle || 2 * Math.PI;
var stepSize = this.latheAngle / this.nsteps;
var newV = [], oldInds = [], newInds = [], startInds = [];
for ( var j = 0; j < verts.length; j ++ ) {
this.vertices.push( new THREE.Vertex( verts[ j ] ) );
oldInds[ j ] = this.vertices.length - 1;
newV[ j ] = new THREE.Vector3( verts[ j ].x, verts[ j ].y, verts[ j ].z );
}
var m = THREE.Matrix4.rotationZMatrix( this.stepSize );
for ( var r = 0; r <= this.latheAngle + 0.001; r += this.stepSize ) { // need the +0.001 for it go up to latheAngle
for ( var j = 0; j < newV.length; j ++ ) {
if ( r < latheAngle ) {
newV[ j ] = m.multiplyVector3( newV[ j ].clone() );
this.vertices.push( new THREE.Vertex( newV[ j ] ) );
newInds[ j ] = this.vertices.length - 1;
} else {
newInds = startInds; // wrap it up!
}
}
if ( r == 0 ) startInds = oldInds;
for ( var j = 0; j < oldInds.length - 1; j ++ ) {
this.faces.push( new THREE.Face4( newInds[ j ], newInds[ j + 1 ], oldInds[ j + 1 ], oldInds[ j ] ) );
this.uvs.push( [ new THREE.UV( r / latheAngle, j / verts.length ),
new THREE.UV( r / latheAngle, ( j + 1 ) / verts.length ),
new THREE.UV( ( r - stepSize ) / latheAngle, ( j + 1 ) / verts.length ),
new THREE.UV( ( r - stepSize ) / latheAngle, j / verts.length ) ] );
}
oldInds = newInds;
newInds = [];
}
this.computeCentroids();
this.computeFaceNormals();
this.computeVertexNormals();
this.sortFacesByMaterial();
};
LathedObject.prototype = new THREE.Geometry();
......
......@@ -3,15 +3,15 @@
* based on http://papervision3d.googlecode.com/svn/trunk/as3/trunk/src/org/papervision3d/objects/primitives/Plane.as
*/
var Plane = function ( width, height, segments_width, segments_height ) {
var Plane = function ( width, height, segmentsWidth, segmentsHeight ) {
THREE.Geometry.call( this );
var ix, iy,
width_half = width / 2,
height_half = height / 2,
gridX = segments_width || 1,
gridY = segments_height || 1,
gridX = segmentsWidth || 1,
gridY = segmentsHeight || 1,
gridX1 = gridX + 1,
gridY1 = gridY + 1,
segment_width = width / gridX,
......
......@@ -3,12 +3,12 @@
* based on http://papervision3d.googlecode.com/svn/trunk/as3/trunk/src/org/papervision3d/objects/primitives/Sphere.as
*/
var Sphere = function ( radius, segments_width, segments_height ) {
var Sphere = function ( radius, segmentsWidth, segmentsHeight ) {
THREE.Geometry.call( this );
var gridX = segments_width || 8,
gridY = segments_height || 6;
var gridX = segmentsWidth || 8,
gridY = segmentsHeight || 6;
var i, j, pi = Math.PI;
var iHor = Math.max( 3, gridX );
......
......@@ -7,13 +7,13 @@
* opacity: <float>,
* blending: THREE.NormalBlending,
* depth_test: <bool>,
* depthTest: <bool>,
* linewidth: <float>,
* linecap: "round",
* linejoin: "round",
* vertex_colors: <bool>
* vertexColors: <bool>
* }
*/
......@@ -25,13 +25,13 @@ THREE.LineBasicMaterial = function ( parameters ) {
this.opacity = 1.0;
this.blending = THREE.NormalBlending;
this.depth_test = true;
this.depthTest = true;
this.linewidth = 1.0;
this.linecap = 'round'; // implemented just in CanvasRenderer
this.linejoin = 'round'; // implemented just in CanvasRenderer
this.vertex_colors = false;
this.vertexColors = false;
if ( parameters ) {
......@@ -39,13 +39,13 @@ THREE.LineBasicMaterial = function ( parameters ) {
if ( parameters.opacity !== undefined ) this.opacity = parameters.opacity;
if ( parameters.blending !== undefined ) this.blending = parameters.blending;
if ( parameters.depth_test !== undefined ) this.depth_test = parameters.depth_test;
if ( parameters.depthTest !== undefined ) this.depthTest = parameters.depthTest;
if ( parameters.linewidth !== undefined ) this.linewidth = parameters.linewidth;
if ( parameters.linecap !== undefined ) this.linecap = parameters.linecap;
if ( parameters.linejoin !== undefined ) this.linejoin = parameters.linejoin;
if ( parameters.vertex_colors !== undefined ) this.vertex_colors = parameters.vertex_colors;
if ( parameters.vertexColors !== undefined ) this.vertexColors = parameters.vertexColors;
}
......
......@@ -7,21 +7,21 @@
* opacity: <float>,
* map: new THREE.Texture( <Image> ),
* light_map: new THREE.Texture( <Image> ),
* lightMap: new THREE.Texture( <Image> ),
* env_map: new THREE.TextureCube( [posx, negx, posy, negy, posz, negz] ),
* envMap: new THREE.TextureCube( [posx, negx, posy, negy, posz, negz] ),
* combine: THREE.Multiply,
* reflectivity: <float>,
* refraction_ratio: <float>,
* refractionRatio: <float>,
* shading: THREE.SmoothShading,
* blending: THREE.NormalBlending,
* depth_test: <bool>,
* depthTest: <bool>,
* wireframe: <boolean>,
* wireframe_linewidth: <float>,
* wireframeLinewidth: <float>,
* vertex_colors: <bool>,
* vertexColors: <bool>,
* skinning: <bool>
* }
*/
......@@ -34,52 +34,52 @@ THREE.MeshBasicMaterial = function ( parameters ) {
this.opacity = 1.0;
this.map = null;
this.light_map = null;
this.lightMap = null;
this.env_map = null;
this.envMap = null;
this.combine = THREE.MultiplyOperation;
this.reflectivity = 1.0;
this.refraction_ratio = 0.98;
this.refractionRatio = 0.98;
this.fog = true; // implemented just in WebGLRenderer2
this.shading = THREE.SmoothShading;
this.blending = THREE.NormalBlending;
this.depth_test = true;
this.depthTest = true;
this.wireframe = false;
this.wireframe_linewidth = 1.0;
this.wireframe_linecap = 'round'; // implemented just in CanvasRenderer
this.wireframe_linejoin = 'round'; // implemented just in CanvasRenderer
this.wireframeLinewidth = 1.0;
this.wireframeLinecap = 'round'; // implemented just in CanvasRenderer
this.wireframeLinejoin = 'round'; // implemented just in CanvasRenderer
this.vertex_colors = false;
this.vertexColors = false;
this.skinning = false;
if ( parameters ) {
if ( parameters.color !== undefined ) this.color.setHex( parameters.color );
if ( parameters.opacity !== undefined ) this.opacity = parameters.opacity;
if ( parameters.opacity !== undefined ) this.opacity = parameters.opacity;
if ( parameters.map !== undefined ) this.map = parameters.map;
if ( parameters.light_map !== undefined ) this.light_map = parameters.light_map;
if ( parameters.lightMap !== undefined ) this.lightMap = parameters.lightMap;
if ( parameters.env_map !== undefined ) this.env_map = parameters.env_map;
if ( parameters.envMap !== undefined ) this.envMap = parameters.envMap;
if ( parameters.combine !== undefined ) this.combine = parameters.combine;
if ( parameters.reflectivity !== undefined ) this.reflectivity = parameters.reflectivity;
if ( parameters.refraction_ratio !== undefined ) this.refraction_ratio = parameters.refraction_ratio;
if ( parameters.refractionRatio !== undefined ) this.refractionRatio = parameters.refractionRatio;
if ( parameters.fog !== undefined ) this.fog = parameters.fog;
if ( parameters.shading !== undefined ) this.shading = parameters.shading;
if ( parameters.blending !== undefined ) this.blending = parameters.blending;
if ( parameters.depth_test !== undefined ) this.depth_test = parameters.depth_test;
if ( parameters.depthTest !== undefined ) this.depthTest = parameters.depthTest;
if ( parameters.wireframe !== undefined ) this.wireframe = parameters.wireframe;
if ( parameters.wireframe_linewidth !== undefined ) this.wireframe_linewidth = parameters.wireframe_linewidth;
if ( parameters.wireframe_linecap !== undefined ) this.wireframe_linecap = parameters.wireframe_linecap;
if ( parameters.wireframe_linejoin !== undefined ) this.wireframe_linejoin = parameters.wireframe_linejoin;
if ( parameters.wireframeLinewidth !== undefined ) this.wireframeLinewidth = parameters.wireframeLinewidth;
if ( parameters.wireframeLinecap !== undefined ) this.wireframeLinecap = parameters.wireframeLinecap;
if ( parameters.wireframeLinejoin !== undefined ) this.wireframeLinejoin = parameters.wireframeLinejoin;
if ( parameters.vertex_colors !== undefined ) this.vertex_colors = parameters.vertex_colors;
if ( parameters.vertexColors !== undefined ) this.vertexColors = parameters.vertexColors;
if ( parameters.skinning !== undefined ) this.skinning = parameters.skinning;
}
......
......@@ -6,10 +6,10 @@
* opacity: <float>,
* blending: THREE.NormalBlending,
* depth_test: <bool>,
* depthTest: <bool>,
* wireframe: <boolean>,
* wireframe_linewidth: <float>
* wireframeLinewidth: <float>
* }
*/
......@@ -21,10 +21,10 @@ THREE.MeshDepthMaterial = function ( parameters ) {
this.shading = THREE.SmoothShading; // doesn't really apply here, normals are not used
this.blending = THREE.NormalBlending;
this.depth_test = true;
this.depthTest = true;
this.wireframe = false;
this.wireframe_linewidth = 1.0;
this.wireframeLinewidth = 1.0;
if ( parameters ) {
......@@ -32,10 +32,10 @@ THREE.MeshDepthMaterial = function ( parameters ) {
if ( parameters.shading !== undefined ) this.shading = parameters.shading;
if ( parameters.blending !== undefined ) this.blending = parameters.blending;
if ( parameters.depth_test !== undefined ) this.depth_test = parameters.depth_test;
if ( parameters.depthTest !== undefined ) this.depthTest = parameters.depthTest;
if ( parameters.wireframe !== undefined ) this.wireframe = parameters.wireframe;
if ( parameters.wireframe_linewidth !== undefined ) this.wireframe_linewidth = parameters.wireframe_linewidth;
if ( parameters.wireframeLinewidth !== undefined ) this.wireframeLinewidth = parameters.wireframeLinewidth;
}
......
......@@ -7,21 +7,21 @@
* opacity: <float>,
* map: new THREE.Texture( <Image> ),
* light_map: new THREE.Texture( <Image> ),
* lightMap: new THREE.Texture( <Image> ),
* env_map: new THREE.TextureCube( [posx, negx, posy, negy, posz, negz] ),
* envMap: new THREE.TextureCube( [posx, negx, posy, negy, posz, negz] ),
* combine: THREE.Multiply,
* reflectivity: <float>,
* refraction_ratio: <float>,
* refractionRatio: <float>,
* shading: THREE.SmoothShading,
* blending: THREE.NormalBlending,
* depth_test: <bool>,
* depthTest: <bool>,
* wireframe: <boolean>,
* wireframe_linewidth: <float>,
* wireframeLinewidth: <float>,
* vertex_colors: <bool>,
* vertexColors: <bool>,
* skinning: <bool>
* }
*/
......@@ -34,25 +34,25 @@ THREE.MeshLambertMaterial = function ( parameters ) {
this.opacity = 1.0;
this.map = null;
this.light_map = null;
this.lightMap = null;
this.env_map = null;
this.envMap = null;
this.combine = THREE.MultiplyOperation;
this.reflectivity = 1.0;
this.refraction_ratio = 0.98;
this.refractionRatio = 0.98;
this.fog = true; // implemented just in WebGLRenderer2
this.shading = THREE.SmoothShading;
this.blending = THREE.NormalBlending;
this.depth_test = true;
this.depthTest = true;
this.wireframe = false;
this.wireframe_linewidth = 1.0;
this.wireframe_linecap = 'round'; // implemented just in CanvasRenderer
this.wireframe_linejoin = 'round'; // implemented just in CanvasRenderer
this.wireframeLinewidth = 1.0;
this.wireframeLinecap = 'round'; // implemented just in CanvasRenderer
this.wireframeLinejoin = 'round'; // implemented just in CanvasRenderer
this.vertex_colors = false;
this.vertexColors = false;
this.skinning = false;
if ( parameters ) {
......@@ -61,25 +61,25 @@ THREE.MeshLambertMaterial = function ( parameters ) {
if ( parameters.opacity !== undefined ) this.opacity = parameters.opacity;
if ( parameters.map !== undefined ) this.map = parameters.map;
if ( parameters.light_map !== undefined ) this.light_map = parameters.light_map;
if ( parameters.lightMap !== undefined ) this.lightMap = parameters.lightMap;
if ( parameters.env_map !== undefined ) this.env_map = parameters.env_map;
if ( parameters.envMap !== undefined ) this.envMap = parameters.envMap;
if ( parameters.combine !== undefined ) this.combine = parameters.combine;
if ( parameters.reflectivity !== undefined ) this.reflectivity = parameters.reflectivity;
if ( parameters.refraction_ratio !== undefined ) this.refraction_ratio = parameters.refraction_ratio;
if ( parameters.refractionRatio !== undefined ) this.refractionRatio = parameters.refractionRatio;
if ( parameters.fog !== undefined ) this.fog = parameters.fog;
if ( parameters.shading !== undefined ) this.shading = parameters.shading;
if ( parameters.blending !== undefined ) this.blending = parameters.blending;
if ( parameters.depth_test !== undefined ) this.depth_test = parameters.depth_test;
if ( parameters.depthTest !== undefined ) this.depthTest = parameters.depthTest;
if ( parameters.wireframe !== undefined ) this.wireframe = parameters.wireframe;
if ( parameters.wireframe_linewidth !== undefined ) this.wireframe_linewidth = parameters.wireframe_linewidth;
if ( parameters.wireframe_linecap !== undefined ) this.wireframe_linecap = parameters.wireframe_linecap;
if ( parameters.wireframe_linejoin !== undefined ) this.wireframe_linejoin = parameters.wireframe_linejoin;
if ( parameters.wireframeLinewidth !== undefined ) this.wireframeLinewidth = parameters.wireframeLinewidth;
if ( parameters.wireframeLinecap !== undefined ) this.wireframeLinecap = parameters.wireframeLinecap;
if ( parameters.wireframeLinejoin !== undefined ) this.wireframeLinejoin = parameters.wireframeLinejoin;
if ( parameters.vertex_colors !== undefined ) this.vertex_colors = parameters.vertex_colors;
if ( parameters.vertexColors !== undefined ) this.vertexColors = parameters.vertexColors;
if ( parameters.skinning !== undefined ) this.skinning = parameters.skinning;
}
......
......@@ -6,10 +6,10 @@
* shading: THREE.FlatShading,
* blending: THREE.NormalBlending,
* depth_test: <bool>,
* depthTest: <bool>,
* wireframe: <boolean>,
* wireframe_linewidth: <float>
* wireframeLinewidth: <float>
* }
*/
......@@ -21,10 +21,10 @@ THREE.MeshNormalMaterial = function ( parameters ) {
this.shading = THREE.FlatShading;
this.blending = THREE.NormalBlending;
this.depth_test = true;
this.depthTest = true;
this.wireframe = false;
this.wireframe_linewidth = 1.0;
this.wireframeLinewidth = 1.0;
if ( parameters ) {
......@@ -32,10 +32,10 @@ THREE.MeshNormalMaterial = function ( parameters ) {
if ( parameters.shading !== undefined ) this.shading = parameters.shading;
if ( parameters.blending !== undefined ) this.blending = parameters.blending;
if ( parameters.depth_test !== undefined ) this.depth_test = parameters.depth_test;
if ( parameters.depthTest !== undefined ) this.depthTest = parameters.depthTest;
if ( parameters.wireframe !== undefined ) this.wireframe = parameters.wireframe;
if ( parameters.wireframe_linewidth !== undefined ) this.wireframe_linewidth = parameters.wireframe_linewidth;
if ( parameters.wireframeLinewidth !== undefined ) this.wireframeLinewidth = parameters.wireframeLinewidth;
}
......
......@@ -11,21 +11,21 @@
* map: new THREE.Texture( <Image> ),
* light_map: new THREE.Texture( <Image> ),
* lightMap: new THREE.Texture( <Image> ),
* env_map: new THREE.TextureCube( [posx, negx, posy, negy, posz, negz] ),
* envMap: new THREE.TextureCube( [posx, negx, posy, negy, posz, negz] ),
* combine: THREE.Multiply,
* reflectivity: <float>,
* refraction_ratio: <float>,
* refractionRatio: <float>,
* shading: THREE.SmoothShading,
* blending: THREE.NormalBlending,
* depth_test: <bool>,
* depthTest: <bool>,
* wireframe: <boolean>,
* wireframe_linewidth: <float>,
* wireframeLinewidth: <float>,
* vertex_colors: <bool>,
* vertexColors: <bool>,
* skinning: <bool>
* }
*/
......@@ -42,25 +42,25 @@ THREE.MeshPhongMaterial = function ( parameters ) {
this.map = null;
this.light_map = null;
this.lightMap = null;
this.env_map = null;
this.envMap = null;
this.combine = THREE.MultiplyOperation;
this.reflectivity = 1.0;
this.refraction_ratio = 0.98;
this.refractionRatio = 0.98;
this.fog = true; // implemented just in WebGLRenderer2
this.shading = THREE.SmoothShading;
this.blending = THREE.NormalBlending;
this.depth_test = true;
this.depthTest = true;
this.wireframe = false;
this.wireframe_linewidth = 1.0;
this.wireframe_linecap = 'round'; // implemented just in CanvasRenderer
this.wireframe_linejoin = 'round'; // implemented just in CanvasRenderer
this.wireframeLinewidth = 1.0;
this.wireframeLinecap = 'round'; // implemented just in CanvasRenderer
this.wireframeLinejoin = 'round'; // implemented just in CanvasRenderer
this.vertex_colors = false;
this.vertexColors = false;
this.skinning = false;
if ( parameters ) {
......@@ -71,27 +71,27 @@ THREE.MeshPhongMaterial = function ( parameters ) {
if ( parameters.shininess !== undefined ) this.shininess = parameters.shininess;
if ( parameters.opacity !== undefined ) this.opacity = parameters.opacity;
if ( parameters.light_map !== undefined ) this.light_map = parameters.light_map;
if ( parameters.lightMap !== undefined ) this.lightMap = parameters.lightMap;
if ( parameters.map !== undefined ) this.map = parameters.map;
if ( parameters.env_map !== undefined ) this.env_map = parameters.env_map;
if ( parameters.envMap !== undefined ) this.envMap = parameters.envMap;
if ( parameters.combine !== undefined ) this.combine = parameters.combine;
if ( parameters.reflectivity !== undefined ) this.reflectivity = parameters.reflectivity;
if ( parameters.refraction_ratio !== undefined ) this.refraction_ratio = parameters.refraction_ratio;
if ( parameters.refractionRatio !== undefined ) this.refractionRatio = parameters.refractionRatio;
if ( parameters.fog !== undefined ) this.fog = parameters.fog;
if ( parameters.shading !== undefined ) this.shading = parameters.shading;
if ( parameters.blending !== undefined ) this.blending = parameters.blending;
if ( parameters.depth_test !== undefined ) this.depth_test = parameters.depth_test;
if ( parameters.depthTest !== undefined ) this.depthTest = parameters.depthTest;
if ( parameters.wireframe !== undefined ) this.wireframe = parameters.wireframe;
if ( parameters.wireframe_linewidth !== undefined ) this.wireframe_linewidth = parameters.wireframe_linewidth;
if ( parameters.wireframe_linecap !== undefined ) this.wireframe_linecap = parameters.wireframe_linecap;
if ( parameters.wireframe_linejoin !== undefined ) this.wireframe_linejoin = parameters.wireframe_linejoin;
if ( parameters.wireframeLinewidth !== undefined ) this.wireframeLinewidth = parameters.wireframeLinewidth;
if ( parameters.wireframeLinecap !== undefined ) this.wireframeLinecap = parameters.wireframeLinecap;
if ( parameters.wireframeLinejoin !== undefined ) this.wireframeLinejoin = parameters.wireframeLinejoin;
if ( parameters.vertex_colors !== undefined ) this.vertex_colors = parameters.vertex_colors;
if ( parameters.vertexColors !== undefined ) this.vertexColors = parameters.vertexColors;
if ( parameters.skinning !== undefined ) this.skinning = parameters.skinning;
}
......
......@@ -2,19 +2,19 @@
* @author alteredq / http://alteredqualia.com/
*
* parameters = {
* fragment_shader: <string>,
* vertex_shader: <string>,
* fragmentShader: <string>,
* vertexShader: <string>,
* uniforms: { "parameter1": { type: "f", value: 1.0 }, "parameter2": { type: "i" value2: 2 } },
* shading: THREE.SmoothShading,
* blending: THREE.NormalBlending,
* depth_test: <bool>,
* depthTest: <bool>,
* wireframe: <boolean>,
* wireframe_linewidth: <float>,
* wireframeLinewidth: <float>,
* vertex_colors: <bool>,
* vertexColors: <bool>,
* skinning: <bool>
* }
*/
......@@ -23,28 +23,28 @@ THREE.MeshShaderMaterial = function ( parameters ) {
this.id = THREE.MaterialCounter.value ++;
this.fragment_shader = "void main() {}";
this.vertex_shader = "void main() {}";
this.fragmentShader = "void main() {}";
this.vertexShader = "void main() {}";
this.uniforms = {};
this.opacity = 1.0; // set to < 1.0 to renderer in transparent batch
this.shading = THREE.SmoothShading;
this.blending = THREE.NormalBlending;
this.depth_test = true;
this.depthTest = true;
this.wireframe = false;
this.wireframe_linewidth = 1.0;
this.wireframe_linecap = 'round'; // doesn't make sense here
this.wireframe_linejoin = 'round'; // not implemented in WebGLRenderer (and this material doesn't make sense in CanvasRenderer)
this.wireframeLinewidth = 1.0;
this.wireframeLinecap = 'round'; // doesn't make sense here
this.wireframeLinejoin = 'round'; // not implemented in WebGLRenderer (and this material doesn't make sense in CanvasRenderer)
this.vertex_colors = false; // must set this if shader wants to use "color" attribute stream
this.vertexColors = false; // must set this if shader wants to use "color" attribute stream
this.skinning = false; // must set this is shader wants to use skinning attribute streams
if ( parameters ) {
if ( parameters.fragment_shader !== undefined ) this.fragment_shader = parameters.fragment_shader;
if ( parameters.vertex_shader !== undefined ) this.vertex_shader = parameters.vertex_shader;
if ( parameters.fragmentShader !== undefined ) this.fragmentShader = parameters.fragmentShader;
if ( parameters.vertexShader !== undefined ) this.vertexShader = parameters.vertexShader;
if ( parameters.uniforms !== undefined ) this.uniforms = parameters.uniforms;
......@@ -52,14 +52,14 @@ THREE.MeshShaderMaterial = function ( parameters ) {
if ( parameters.shading !== undefined ) this.shading = parameters.shading;
if ( parameters.blending !== undefined ) this.blending = parameters.blending;
if ( parameters.depth_test !== undefined ) this.depth_test = parameters.depth_test;
if ( parameters.depthTest !== undefined ) this.depthTest = parameters.depthTest;
if ( parameters.wireframe !== undefined ) this.wireframe = parameters.wireframe;
if ( parameters.wireframe_linewidth !== undefined ) this.wireframe_linewidth = parameters.wireframe_linewidth;
if ( parameters.wireframe_linecap !== undefined ) this.wireframe_linecap = parameters.wireframe_linecap;
if ( parameters.wireframe_linejoin !== undefined ) this.wireframe_linejoin = parameters.wireframe_linejoin;
if ( parameters.wireframeLinewidth !== undefined ) this.wireframeLinewidth = parameters.wireframeLinewidth;
if ( parameters.wireframeLinecap !== undefined ) this.wireframeLinecap = parameters.wireframeLinecap;
if ( parameters.wireframeLinejoin !== undefined ) this.wireframeLinejoin = parameters.wireframeLinejoin;
if ( parameters.vertex_colors !== undefined ) this.vertex_colors = parameters.vertex_colors;
if ( parameters.vertexColors !== undefined ) this.vertexColors = parameters.vertexColors;
if ( parameters.skinning !== undefined ) this.skinning = parameters.skinning;
}
......
......@@ -10,9 +10,9 @@
* size: <float>,
* blending: THREE.NormalBlending,
* depth_test: <bool>,
* depthTest: <bool>,
* vertex_colors: <bool>
* vertexColors: <bool>
* }
*/
......@@ -27,11 +27,11 @@ THREE.ParticleBasicMaterial = function ( parameters ) {
this.size = 1.0;
this.blending = THREE.NormalBlending;
this.depth_test = true;
this.depthTest = true;
this.offset = new THREE.Vector2(); // TODO: expose to parameters (implemented just in CanvasRenderer)
this.vertex_colors = false;
this.vertexColors = false;
if ( parameters ) {
......@@ -42,9 +42,9 @@ THREE.ParticleBasicMaterial = function ( parameters ) {
if ( parameters.size !== undefined ) this.size = parameters.size;
if ( parameters.blending !== undefined ) this.blending = parameters.blending;
if ( parameters.depth_test !== undefined ) this.depth_test = parameters.depth_test;
if ( parameters.depthTest !== undefined ) this.depthTest = parameters.depthTest;
if ( parameters.vertex_colors !== undefined ) this.vertex_colors = parameters.vertex_colors;
if ( parameters.vertexColors !== undefined ) this.vertexColors = parameters.vertexColors;
}
......
......@@ -9,11 +9,11 @@ THREE.RenderTarget = function ( width, height, options ) {
options = options || {};
this.wrap_s = options.wrap_s !== undefined ? options.wrap_s : THREE.ClampToEdgeWrapping;
this.wrap_t = options.wrap_t !== undefined ? options.wrap_t : THREE.ClampToEdgeWrapping;
this.wrapS = options.wrapS !== undefined ? options.wrapS : THREE.ClampToEdgeWrapping;
this.wrapT = options.wrapT !== undefined ? options.wrapT : THREE.ClampToEdgeWrapping;
this.mag_filter = options.mag_filter !== undefined ? options.mag_filter : THREE.LinearFilter;
this.min_filter = options.min_filter !== undefined ? options.min_filter : THREE.LinearMipMapLinearFilter;
this.magFilter = options.magFilter !== undefined ? options.magFilter : THREE.LinearFilter;
this.minFilter = options.minFilter !== undefined ? options.minFilter : THREE.LinearMipMapLinearFilter;
this.format = options.format !== undefined ? options.format : THREE.RGBFormat;
this.type = options.type !== undefined ? options.type : THREE.UnsignedByteType;
......
......@@ -4,17 +4,17 @@
* @author szimek / https://github.com/szimek/
*/
THREE.Texture = function ( image, mapping, wrap_s, wrap_t, mag_filter, min_filter ) {
THREE.Texture = function ( image, mapping, wrapS, wrapT, magFilter, minFilter ) {
this.image = image;
this.mapping = mapping !== undefined ? mapping : new THREE.UVMapping();
this.wrap_s = wrap_s !== undefined ? wrap_s : THREE.ClampToEdgeWrapping;
this.wrap_t = wrap_t !== undefined ? wrap_t : THREE.ClampToEdgeWrapping;
this.wrapS = wrapS !== undefined ? wrapS : THREE.ClampToEdgeWrapping;
this.wrapT = wrapT !== undefined ? wrapT : THREE.ClampToEdgeWrapping;
this.mag_filter = mag_filter !== undefined ? mag_filter : THREE.LinearFilter;
this.min_filter = min_filter !== undefined ? min_filter : THREE.LinearMipMapLinearFilter;
this.magFilter = magFilter !== undefined ? magFilter : THREE.LinearFilter;
this.minFilter = minFilter !== undefined ? minFilter : THREE.LinearMipMapLinearFilter;
this.needsUpdate = false;
......@@ -24,7 +24,7 @@ THREE.Texture.prototype = {
clone: function () {
return new THREE.Texture( this.image, this.mapping, this.wrap_s, this.wrap_t, this.mag_filter, this.min_filter );
return new THREE.Texture( this.image, this.mapping, this.wrapS, this.wrapT, this.magFilter, this.minFilter );
}
......
/**
* @author alteredq / http://alteredqualia.com/
*/
var Uniforms = {
clone: function( uniforms_src ) {
......
......@@ -519,10 +519,10 @@ THREE.CanvasRenderer = function () {
}
} else if ( material.env_map ) {
} else if ( material.envMap ) {
if ( material.env_map.mapping instanceof THREE.SphericalReflectionMapping ) {
if ( material.envMap.mapping instanceof THREE.SphericalReflectionMapping ) {
var cameraMatrix = camera.matrixWorld;
......@@ -538,9 +538,9 @@ THREE.CanvasRenderer = function () {
_uv3x = ( _vector3.x * cameraMatrix.n11 + _vector3.y * cameraMatrix.n12 + _vector3.z * cameraMatrix.n13 ) * 0.5 + 0.5;
_uv3y = - ( _vector3.x * cameraMatrix.n21 + _vector3.y * cameraMatrix.n22 + _vector3.z * cameraMatrix.n23 ) * 0.5 + 0.5;
texturePath( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y, material.env_map.image, _uv1x, _uv1y, _uv2x, _uv2y, _uv3x, _uv3y );
texturePath( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y, material.envMap.image, _uv1x, _uv1y, _uv2x, _uv2y, _uv3x, _uv3y );
}/* else if ( material.env_map.mapping == THREE.RefractionMapping ) {
}/* else if ( material.envMap.mapping == THREE.RefractionMapping ) {
......@@ -549,7 +549,7 @@ THREE.CanvasRenderer = function () {
} else {
material.wireframe ? strokePath( material.color.__styleString, material.wireframe_linewidth ) : fillPath( material.color.__styleString );
material.wireframe ? strokePath( material.color.__styleString, material.wireframeLinewidth ) : fillPath( material.color.__styleString );
}
......@@ -600,13 +600,13 @@ THREE.CanvasRenderer = function () {
_color.b = material.color.b * _light.b;
_color.updateStyleString();
material.wireframe ? strokePath( _color.__styleString, material.wireframe_linewidth ) : fillPath( _color.__styleString );
material.wireframe ? strokePath( _color.__styleString, material.wireframeLinewidth ) : fillPath( _color.__styleString );
}
} else {
material.wireframe ? strokePath( material.color.__styleString, material.wireframe_linewidth ) : fillPath( material.color.__styleString );
material.wireframe ? strokePath( material.color.__styleString, material.wireframeLinewidth ) : fillPath( material.color.__styleString );
}
......@@ -639,7 +639,7 @@ THREE.CanvasRenderer = function () {
_color.b = normalToComponent( element.normalWorld.z );
_color.updateStyleString();
material.wireframe ? strokePath( _color.__styleString, material.wireframe_linewidth ) : fillPath( _color.__styleString );
material.wireframe ? strokePath( _color.__styleString, material.wireframeLinewidth ) : fillPath( _color.__styleString );
}
......
......@@ -406,7 +406,7 @@ THREE.SVGRenderer = function () {
if ( material.wireframe ) {
_svgNode.setAttribute( 'style', 'fill: none; stroke: ' + _color.__styleString + '; stroke-width: ' + material.wireframe_linewidth + '; stroke-opacity: ' + material.opacity + '; stroke-linecap: ' + material.wireframe_linecap + '; stroke-linejoin: ' + material.wireframe_linejoin );
_svgNode.setAttribute( 'style', 'fill: none; stroke: ' + _color.__styleString + '; stroke-width: ' + material.wireframeLinewidth + '; stroke-opacity: ' + material.opacity + '; stroke-linecap: ' + material.wireframeLinecap + '; stroke-linejoin: ' + material.wireframeLinejoin );
} else {
......@@ -462,7 +462,7 @@ THREE.SVGRenderer = function () {
if ( material.wireframe ) {
_svgNode.setAttribute( 'style', 'fill: none; stroke: ' + _color.__styleString + '; stroke-width: ' + material.wireframe_linewidth + '; stroke-opacity: ' + material.opacity + '; stroke-linecap: ' + material.wireframe_linecap + '; stroke-linejoin: ' + material.wireframe_linejoin );
_svgNode.setAttribute( 'style', 'fill: none; stroke: ' + _color.__styleString + '; stroke-width: ' + material.wireframeLinewidth + '; stroke-opacity: ' + material.opacity + '; stroke-linecap: ' + material.wireframeLinecap + '; stroke-linejoin: ' + material.wireframeLinejoin );
} else {
......
......@@ -1225,8 +1225,8 @@ THREE.WebGLRenderer = function ( parameters ) {
function setMaterialShaders( material, shaders ) {
material.fragment_shader = shaders.fragment_shader;
material.vertex_shader = shaders.vertex_shader;
material.fragmentShader = shaders.fragmentShader;
material.vertexShader = shaders.vertexShader;
material.uniforms = Uniforms.clone( shaders.uniforms );
};
......@@ -1242,13 +1242,13 @@ THREE.WebGLRenderer = function ( parameters ) {
uniforms.opacity.value = material.opacity;
uniforms.map.texture = material.map;
uniforms.light_map.texture = material.light_map;
uniforms.lightMap.texture = material.lightMap;
uniforms.env_map.texture = material.env_map;
uniforms.envMap.texture = material.envMap;
uniforms.reflectivity.value = material.reflectivity;
uniforms.refraction_ratio.value = material.refraction_ratio;
uniforms.refractionRatio.value = material.refractionRatio;
uniforms.combine.value = material.combine;
uniforms.useRefract.value = material.env_map && material.env_map.mapping instanceof THREE.CubeRefractionMapping;
uniforms.useRefract.value = material.envMap && material.envMap.mapping instanceof THREE.CubeRefractionMapping;
};
......@@ -1346,11 +1346,11 @@ THREE.WebGLRenderer = function ( parameters ) {
maxLightCount = allocateLights( lights, 4 );
parameters = { fog: fog, map: material.map, env_map: material.env_map, light_map: material.light_map, vertex_colors: material.vertex_colors,
parameters = { fog: fog, map: material.map, envMap: material.envMap, lightMap: material.lightMap, vertexColors: material.vertexColors,
skinning: material.skinning,
maxDirLights: maxLightCount.directional, maxPointLights: maxLightCount.point };
material.program = buildProgram( material.fragment_shader, material.vertex_shader, parameters );
material.program = buildProgram( material.fragmentShader, material.vertexShader, parameters );
identifiers = [ 'viewMatrix', 'modelViewMatrix', 'projectionMatrix', 'normalMatrix', 'objectMatrix', 'cameraPosition',
'cameraInverseMatrix', 'boneGlobalMatrices'
......@@ -1470,14 +1470,14 @@ THREE.WebGLRenderer = function ( parameters ) {
if ( material instanceof THREE.MeshShaderMaterial ||
material instanceof THREE.MeshPhongMaterial ||
material.env_map ) {
material.envMap ) {
_gl.uniform3f( p_uniforms.cameraPosition, camera.position.x, camera.position.y, camera.position.z );
}
if ( material instanceof THREE.MeshShaderMaterial ||
material.env_map ||
material.envMap ||
material.skinning ) {
_gl.uniformMatrix4fv( p_uniforms.objectMatrix, false, object._objectMatrixArray );
......@@ -1605,7 +1605,7 @@ THREE.WebGLRenderer = function ( parameters ) {
if ( material.wireframe ) {
_gl.lineWidth( material.wireframe_linewidth );
_gl.lineWidth( material.wireframeLinewidth );
_gl.bindBuffer( _gl.ELEMENT_ARRAY_BUFFER, geometryChunk.__webGLLineBuffer );
_gl.drawElements( _gl.LINES, geometryChunk.__webGLLineCount, _gl.UNSIGNED_SHORT, 0 );
......@@ -1972,7 +1972,7 @@ THREE.WebGLRenderer = function ( parameters ) {
material = opaque.list[ i ];
setDepthTest( material.depth_test );
setDepthTest( material.depthTest );
renderBuffer( camera, lights, fog, material, buffer, object );
}
......@@ -1998,7 +1998,7 @@ THREE.WebGLRenderer = function ( parameters ) {
material = opaque.list[ i ];
setDepthTest( material.depth_test );
setDepthTest( material.depthTest );
program = setProgram( camera, lights, fog, material, object );
object.render( function( object ) { renderBufferImmediate( object, program ); } );
......@@ -2028,7 +2028,7 @@ THREE.WebGLRenderer = function ( parameters ) {
material = transparent.list[ i ];
setBlending( material.blending );
setDepthTest( material.depth_test );
setDepthTest( material.depthTest );
renderBuffer( camera, lights, fog, material, buffer, object );
......@@ -2056,7 +2056,7 @@ THREE.WebGLRenderer = function ( parameters ) {
material = transparent.list[ i ];
setBlending( material.blending );
setDepthTest( material.depth_test );
setDepthTest( material.depthTest );
program = setProgram( camera, lights, fog, material, object );
object.render( function( object ) { renderBufferImmediate( object, program ); } );
......@@ -2069,7 +2069,7 @@ THREE.WebGLRenderer = function ( parameters ) {
// Generate mipmap if we're using any kind of mipmap filtering
if ( renderTarget && renderTarget.min_filter !== THREE.NearestFilter && renderTarget.min_filter !== THREE.LinearFilter ) {
if ( renderTarget && renderTarget.minFilter !== THREE.NearestFilter && renderTarget.minFilter !== THREE.LinearFilter ) {
updateRenderTargetMipmap( renderTarget );
......@@ -2385,7 +2385,7 @@ THREE.WebGLRenderer = function ( parameters ) {
};
function buildProgram( fragment_shader, vertex_shader, parameters ) {
function buildProgram( fragmentShader, vertexShader, parameters ) {
var program = _gl.createProgram(),
......@@ -2401,9 +2401,9 @@ THREE.WebGLRenderer = function ( parameters ) {
parameters.fog instanceof THREE.FogExp2 ? "#define FOG_EXP2" : "",
parameters.map ? "#define USE_MAP" : "",
parameters.env_map ? "#define USE_ENVMAP" : "",
parameters.light_map ? "#define USE_LIGHTMAP" : "",
parameters.vertex_colors ? "#define USE_COLOR" : "",
parameters.envMap ? "#define USE_ENVMAP" : "",
parameters.lightMap ? "#define USE_LIGHTMAP" : "",
parameters.vertexColors ? "#define USE_COLOR" : "",
"uniform mat4 viewMatrix;",
"uniform vec3 cameraPosition;",
......@@ -2417,9 +2417,9 @@ THREE.WebGLRenderer = function ( parameters ) {
"#define MAX_POINT_LIGHTS " + parameters.maxPointLights,
parameters.map ? "#define USE_MAP" : "",
parameters.env_map ? "#define USE_ENVMAP" : "",
parameters.light_map ? "#define USE_LIGHTMAP" : "",
parameters.vertex_colors ? "#define USE_COLOR" : "",
parameters.envMap ? "#define USE_ENVMAP" : "",
parameters.lightMap ? "#define USE_LIGHTMAP" : "",
parameters.vertexColors ? "#define USE_COLOR" : "",
parameters.skinning ? "#define USE_SKINNING" : "",
"uniform mat4 objectMatrix;",
......@@ -2444,8 +2444,8 @@ THREE.WebGLRenderer = function ( parameters ) {
""
].join("\n");
_gl.attachShader( program, getShader( "fragment", prefix_fragment + fragment_shader ) );
_gl.attachShader( program, getShader( "vertex", prefix_vertex + vertex_shader ) );
_gl.attachShader( program, getShader( "fragment", prefix_fragment + fragmentShader ) );
_gl.attachShader( program, getShader( "vertex", prefix_vertex + vertexShader ) );
_gl.linkProgram( program );
......@@ -2454,13 +2454,13 @@ THREE.WebGLRenderer = function ( parameters ) {
alert( "Could not initialise shaders\n"+
"VALIDATE_STATUS: " + _gl.getProgramParameter( program, _gl.VALIDATE_STATUS ) + ", gl error [" + _gl.getError() + "]" );
//console.log( prefix_fragment + fragment_shader );
//console.log( prefix_vertex + vertex_shader );
//console.log( prefix_fragment + fragmentShader );
//console.log( prefix_vertex + vertexShader );
}
//console.log( prefix_fragment + fragment_shader );
//console.log( prefix_vertex + vertex_shader );
//console.log( prefix_fragment + fragmentShader );
//console.log( prefix_vertex + vertexShader );
program.uniforms = {};
program.attributes = {};
......@@ -2649,11 +2649,11 @@ THREE.WebGLRenderer = function ( parameters ) {
_gl.bindTexture( _gl.TEXTURE_2D, texture.__webGLTexture );
_gl.texImage2D( _gl.TEXTURE_2D, 0, _gl.RGBA, _gl.RGBA, _gl.UNSIGNED_BYTE, texture.image );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_WRAP_S, paramThreeToGL( texture.wrap_s ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_WRAP_T, paramThreeToGL( texture.wrap_t ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_WRAP_S, paramThreeToGL( texture.wrapS ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_WRAP_T, paramThreeToGL( texture.wrapT ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_MAG_FILTER, paramThreeToGL( texture.mag_filter ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_MIN_FILTER, paramThreeToGL( texture.min_filter ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_MAG_FILTER, paramThreeToGL( texture.magFilter ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_MIN_FILTER, paramThreeToGL( texture.minFilter ) );
_gl.generateMipmap( _gl.TEXTURE_2D );
_gl.bindTexture( _gl.TEXTURE_2D, null );
......@@ -2664,11 +2664,11 @@ THREE.WebGLRenderer = function ( parameters ) {
_gl.bindTexture( _gl.TEXTURE_2D, texture.__webGLTexture );
_gl.texSubImage2D( _gl.TEXTURE_2D, 0, 0, 0, _gl.RGBA, _gl.UNSIGNED_BYTE, texture.image );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_WRAP_S, paramThreeToGL( texture.wrap_s ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_WRAP_T, paramThreeToGL( texture.wrap_t ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_WRAP_S, paramThreeToGL( texture.wrapS ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_WRAP_T, paramThreeToGL( texture.wrapT ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_MAG_FILTER, paramThreeToGL( texture.mag_filter ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_MIN_FILTER, paramThreeToGL( texture.min_filter ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_MAG_FILTER, paramThreeToGL( texture.magFilter ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_MIN_FILTER, paramThreeToGL( texture.minFilter ) );
_gl.generateMipmap( _gl.TEXTURE_2D );
_gl.bindTexture( _gl.TEXTURE_2D, null );
......@@ -2699,10 +2699,10 @@ THREE.WebGLRenderer = function ( parameters ) {
// Setup texture
_gl.bindTexture( _gl.TEXTURE_2D, renderTexture.__webGLTexture );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_WRAP_S, paramThreeToGL( renderTexture.wrap_s ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_WRAP_T, paramThreeToGL( renderTexture.wrap_t ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_MAG_FILTER, paramThreeToGL( renderTexture.mag_filter ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_MIN_FILTER, paramThreeToGL( renderTexture.min_filter ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_WRAP_S, paramThreeToGL( renderTexture.wrapS ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_WRAP_T, paramThreeToGL( renderTexture.wrapT ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_MAG_FILTER, paramThreeToGL( renderTexture.magFilter ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_MIN_FILTER, paramThreeToGL( renderTexture.minFilter ) );
_gl.texImage2D( _gl.TEXTURE_2D, 0, paramThreeToGL( renderTexture.format ), renderTexture.width, renderTexture.height, 0, paramThreeToGL( renderTexture.format ), paramThreeToGL( renderTexture.type ), null );
// Setup framebuffer
......@@ -3009,7 +3009,7 @@ THREE.Snippets = {
"varying vec3 vReflect;",
"uniform float reflectivity;",
"uniform samplerCube env_map;",
"uniform samplerCube envMap;",
"uniform int combine;",
"#endif"
......@@ -3020,7 +3020,7 @@ THREE.Snippets = {
"#ifdef USE_ENVMAP",
"vec4 cubeColor = textureCube( env_map, vec3( -vReflect.x, vReflect.yz ) );",
"vec4 cubeColor = textureCube( envMap, vec3( -vReflect.x, vReflect.yz ) );",
"if ( combine == 1 ) {",
......@@ -3042,7 +3042,7 @@ THREE.Snippets = {
"#ifdef USE_ENVMAP",
"varying vec3 vReflect;",
"uniform float refraction_ratio;",
"uniform float refractionRatio;",
"uniform bool useRefract;",
"#endif"
......@@ -3058,7 +3058,7 @@ THREE.Snippets = {
"if ( useRefract ) {",
"vReflect = refract( normalize( mPosition.xyz - cameraPosition ), normalize( nWorld.xyz ), refraction_ratio );",
"vReflect = refract( normalize( mPosition.xyz - cameraPosition ), normalize( nWorld.xyz ), refractionRatio );",
"} else {",
......@@ -3143,7 +3143,7 @@ THREE.Snippets = {
"#ifdef USE_LIGHTMAP",
"varying vec2 vUv2;",
"uniform sampler2D light_map;",
"uniform sampler2D lightMap;",
"#endif"
......@@ -3163,7 +3163,7 @@ THREE.Snippets = {
"#ifdef USE_LIGHTMAP",
"gl_FragColor = gl_FragColor * texture2D( light_map, vUv2 );",
"gl_FragColor = gl_FragColor * texture2D( lightMap, vUv2 );",
"#endif"
......@@ -3423,12 +3423,12 @@ THREE.UniformsLib = {
"opacity" : { type: "f", value: 1.0 },
"map" : { type: "t", value: 0, texture: null },
"light_map" : { type: "t", value: 2, texture: null },
"lightMap" : { type: "t", value: 2, texture: null },
"env_map" : { type: "t", value: 1, texture: null },
"envMap" : { type: "t", value: 1, texture: null },
"useRefract" : { type: "i", value: 0 },
"reflectivity" : { type: "f", value: 1.0 },
"refraction_ratio": { type: "f", value: 0.98 },
"refractionRatio": { type: "f", value: 0.98 },
"combine" : { type: "i", value: 0 },
"fogDensity": { type: "f", value: 0.00025 },
......@@ -3474,7 +3474,7 @@ THREE.ShaderLib = {
"opacity" : { type: "f", value: 1.0 }
},
fragment_shader: [
fragmentShader: [
"uniform float mNear;",
"uniform float mFar;",
......@@ -3490,7 +3490,7 @@ THREE.ShaderLib = {
].join("\n"),
vertex_shader: [
vertexShader: [
"void main() {",
......@@ -3506,7 +3506,7 @@ THREE.ShaderLib = {
uniforms: { "opacity" : { type: "f", value: 1.0 } },
fragment_shader: [
fragmentShader: [
"uniform float opacity;",
"varying vec3 vNormal;",
......@@ -3519,7 +3519,7 @@ THREE.ShaderLib = {
].join("\n"),
vertex_shader: [
vertexShader: [
"varying vec3 vNormal;",
......@@ -3540,7 +3540,7 @@ THREE.ShaderLib = {
uniforms: THREE.UniformsLib[ "common" ],
fragment_shader: [
fragmentShader: [
"uniform vec3 diffuse;",
"uniform float opacity;",
......@@ -3565,7 +3565,7 @@ THREE.ShaderLib = {
].join("\n"),
vertex_shader: [
vertexShader: [
THREE.Snippets[ "map_pars_vertex" ],
THREE.Snippets[ "lightmap_pars_vertex" ],
......@@ -3594,7 +3594,7 @@ THREE.ShaderLib = {
uniforms: Uniforms.merge( [ THREE.UniformsLib[ "common" ],
THREE.UniformsLib[ "lights" ] ] ),
fragment_shader: [
fragmentShader: [
"uniform vec3 diffuse;",
"uniform float opacity;",
......@@ -3622,7 +3622,7 @@ THREE.ShaderLib = {
].join("\n"),
vertex_shader: [
vertexShader: [
"varying vec3 vLightWeighting;",
......@@ -3665,7 +3665,7 @@ THREE.ShaderLib = {
] ),
fragment_shader: [
fragmentShader: [
"uniform vec3 diffuse;",
"uniform float opacity;",
......@@ -3698,7 +3698,7 @@ THREE.ShaderLib = {
].join("\n"),
vertex_shader: [
vertexShader: [
"#define PHONG",
......@@ -3744,7 +3744,7 @@ THREE.ShaderLib = {
uniforms: THREE.UniformsLib[ "particle" ],
fragment_shader: [
fragmentShader: [
"uniform vec3 psColor;",
"uniform float opacity;",
......@@ -3765,7 +3765,7 @@ THREE.ShaderLib = {
].join("\n"),
vertex_shader: [
vertexShader: [
"uniform float size;",
......
......@@ -202,9 +202,9 @@ THREE.WebGLRenderer2 = function ( antialias ) {
}
if ( material.env_map ) {
if ( material.envMap ) {
setTexture( material.env_map, 1 );
setTexture( material.envMap, 1 );
_gl.uniform1i( uniforms.tSpherical, 1 );
}
......@@ -282,7 +282,7 @@ THREE.WebGLRenderer2 = function ( antialias ) {
} else {
_gl.lineWidth( material.wireframe_linewidth );
_gl.lineWidth( material.wireframeLinewidth );
_gl.bindBuffer( _gl.ELEMENT_ARRAY_BUFFER, buffer.lines );
_gl.drawElements( _gl.LINES, buffer.lineCount, _gl.UNSIGNED_SHORT, 0 );
......@@ -516,19 +516,19 @@ THREE.WebGLRenderer2 = function ( antialias ) {
vs = [
material.map ? 'varying vec2 vUv;' : null,
material.env_map ? 'varying vec2 vSpherical;' : null,
material.envMap ? 'varying vec2 vSpherical;' : null,
'void main() {',
'gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );',
material.map ? 'vUv = uv;' : null,
material.env_map ? 'vec3 u = normalize( modelViewMatrix * vec4( position, 1.0 ) ).xyz;' : null,
material.env_map ? 'vec3 n = normalize( normalMatrix * normal );' : null,
material.env_map ? 'vec3 r = reflect( u, n );' : null,
material.env_map ? 'float m = 2.0 * sqrt( r.x * r.x + r.y * r.y + ( r.z + 1.0 ) * ( r.z + 1.0 ) );' : null,
material.env_map ? 'vSpherical.x = r.x / m + 0.5;' : null,
material.env_map ? 'vSpherical.y = - r.y / m + 0.5;' : null,
material.envMap ? 'vec3 u = normalize( modelViewMatrix * vec4( position, 1.0 ) ).xyz;' : null,
material.envMap ? 'vec3 n = normalize( normalMatrix * normal );' : null,
material.envMap ? 'vec3 r = reflect( u, n );' : null,
material.envMap ? 'float m = 2.0 * sqrt( r.x * r.x + r.y * r.y + ( r.z + 1.0 ) * ( r.z + 1.0 ) );' : null,
material.envMap ? 'vSpherical.x = r.x / m + 0.5;' : null,
material.envMap ? 'vSpherical.y = - r.y / m + 0.5;' : null,
'}'
].filter( removeNull ).join( '\n' );
......@@ -540,8 +540,8 @@ THREE.WebGLRenderer2 = function ( antialias ) {
material.map ? 'uniform sampler2D tMap;' : null,
material.map ? 'varying vec2 vUv;' : null,
material.env_map ? 'uniform sampler2D tSpherical;' : null,
material.env_map ? 'varying vec2 vSpherical;' : null,
material.envMap ? 'uniform sampler2D tSpherical;' : null,
material.envMap ? 'varying vec2 vSpherical;' : null,
material.fog ? 'uniform float fog;' : null,
material.fog ? 'uniform float fogNear;' : null,
......@@ -558,7 +558,7 @@ THREE.WebGLRenderer2 = function ( antialias ) {
material.map ? 'gl_FragColor *= texture2D( tMap, vUv );' : null,
material.env_map ? 'gl_FragColor += texture2D( tSpherical, vSpherical );' : null,
material.envMap ? 'gl_FragColor += texture2D( tSpherical, vSpherical );' : null,
material.fog ? 'float depth = gl_FragCoord.z / gl_FragCoord.w;' : null,
material.fog ? 'float fogFactor = fog * smoothstep( fogNear, fogFar, depth );' : null,
......@@ -569,7 +569,7 @@ THREE.WebGLRenderer2 = function ( antialias ) {
identifiers.push( 'mColor', 'mOpacity' );
if ( material.map ) identifiers.push( 'tMap' );
if ( material.env_map ) identifiers.push( 'tSpherical' );
if ( material.envMap ) identifiers.push( 'tSpherical' );
if ( material.fog ) identifiers.push( 'fog', 'fogColor', 'fogNear', 'fogFar' );
......@@ -620,8 +620,8 @@ THREE.WebGLRenderer2 = function ( antialias ) {
} else if ( material instanceof THREE.MeshShaderMaterial ) {
vs = material.vertex_shader;
fs = material.fragment_shader;
vs = material.vertexShader;
fs = material.fragmentShader;
for( uniform in material.uniforms ) {
......@@ -644,7 +644,7 @@ THREE.WebGLRenderer2 = function ( antialias ) {
}
function compileProgram( vertex_shader, fragment_shader ) {
function compileProgram( vertexShader, fragmentShader ) {
var program = _gl.createProgram(), shader, prefix_vertex, prefix_fragment;
......@@ -674,7 +674,7 @@ THREE.WebGLRenderer2 = function ( antialias ) {
// Vertex shader
shader = _gl.createShader( _gl.VERTEX_SHADER );
_gl.shaderSource( shader, prefix_vertex + vertex_shader );
_gl.shaderSource( shader, prefix_vertex + vertexShader );
_gl.compileShader( shader );
_gl.attachShader( program, shader );
......@@ -688,7 +688,7 @@ THREE.WebGLRenderer2 = function ( antialias ) {
// Fragment Shader
shader = _gl.createShader( _gl.FRAGMENT_SHADER );
_gl.shaderSource( shader, prefix_fragment + fragment_shader );
_gl.shaderSource( shader, prefix_fragment + fragmentShader );
_gl.compileShader( shader );
_gl.attachShader( program, shader );
......@@ -706,8 +706,8 @@ THREE.WebGLRenderer2 = function ( antialias ) {
alert( "Could not initialise shaders.\n" +
"VALIDATE_STATUS: " + _gl.getProgramParameter( program, _gl.VALIDATE_STATUS ) + "\n" +
"ERROR: " + _gl.getError() + "\n\n" +
"- Vertex Shader -\n" + prefix_vertex + vertex_shader + "\n\n" +
"- Fragment Shader -\n" + prefix_fragment + fragment_shader );
"- Vertex Shader -\n" + prefix_vertex + vertexShader + "\n\n" +
"- Fragment Shader -\n" + prefix_fragment + fragmentShader );
}
......@@ -765,11 +765,11 @@ THREE.WebGLRenderer2 = function ( antialias ) {
_gl.bindTexture( _gl.TEXTURE_2D, texture.__webglTexture );
_gl.texImage2D( _gl.TEXTURE_2D, 0, _gl.RGBA, _gl.RGBA, _gl.UNSIGNED_BYTE, texture.image );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_WRAP_S, paramThreeToGL( texture.wrap_s ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_WRAP_T, paramThreeToGL( texture.wrap_t ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_WRAP_S, paramThreeToGL( texture.wrapS ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_WRAP_T, paramThreeToGL( texture.wrapT ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_MAG_FILTER, paramThreeToGL( texture.mag_filter ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_MIN_FILTER, paramThreeToGL( texture.min_filter ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_MAG_FILTER, paramThreeToGL( texture.magFilter ) );
_gl.texParameteri( _gl.TEXTURE_2D, _gl.TEXTURE_MIN_FILTER, paramThreeToGL( texture.minFilter ) );
_gl.generateMipmap( _gl.TEXTURE_2D );
_gl.bindTexture( _gl.TEXTURE_2D, null );
......
......@@ -52,7 +52,7 @@ COLORS = [0xeeeeee, 0xee0000, 0x00ee00, 0x0000ee, 0xeeee00, 0x00eeee, 0xee00ee]
# #####################################################
TEMPLATE_FILE_ASCII = """\
/*
* File generated with Blender 2.55 Exporter
* File generated with Blender 2.56 Exporter
* https://github.com/mrdoob/three.js/tree/master/utils/exporters/blender/
*
* vertices: %(nvertex)d
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册