|
@@ -46,7 +46,6 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
|
|
|
|
_projScreenMatrix = new THREE.Matrix4(),
|
|
_projScreenMatrix = new THREE.Matrix4(),
|
|
_projectionMatrixArray = new Float32Array( 16 ),
|
|
_projectionMatrixArray = new Float32Array( 16 ),
|
|
-
|
|
|
|
_viewMatrixArray = new Float32Array( 16 ),
|
|
_viewMatrixArray = new Float32Array( 16 ),
|
|
|
|
|
|
_vector3 = new THREE.Vector4(),
|
|
_vector3 = new THREE.Vector4(),
|
|
@@ -1224,8 +1223,8 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
|
|
|
|
function setMaterialShaders( material, shaders ) {
|
|
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 );
|
|
material.uniforms = Uniforms.clone( shaders.uniforms );
|
|
|
|
|
|
};
|
|
};
|
|
@@ -1241,13 +1240,13 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
uniforms.opacity.value = material.opacity;
|
|
uniforms.opacity.value = material.opacity;
|
|
uniforms.map.texture = material.map;
|
|
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.reflectivity.value = material.reflectivity;
|
|
- uniforms.refraction_ratio.value = material.refraction_ratio;
|
|
|
|
|
|
+ uniforms.refractionRatio.value = material.refractionRatio;
|
|
uniforms.combine.value = material.combine;
|
|
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;
|
|
|
|
|
|
};
|
|
};
|
|
|
|
|
|
@@ -1345,11 +1344,11 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
|
|
|
|
maxLightCount = allocateLights( lights, 4 );
|
|
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,
|
|
skinning: material.skinning,
|
|
maxDirLights: maxLightCount.directional, maxPointLights: maxLightCount.point };
|
|
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',
|
|
identifiers = [ 'viewMatrix', 'modelViewMatrix', 'projectionMatrix', 'normalMatrix', 'objectMatrix', 'cameraPosition',
|
|
'cameraInverseMatrix', 'boneGlobalMatrices'
|
|
'cameraInverseMatrix', 'boneGlobalMatrices'
|
|
@@ -1400,7 +1399,6 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
_oldProgram = program;
|
|
_oldProgram = program;
|
|
|
|
|
|
_gl.uniformMatrix4fv( p_uniforms.projectionMatrix, false, _projectionMatrixArray );
|
|
_gl.uniformMatrix4fv( p_uniforms.projectionMatrix, false, _projectionMatrixArray );
|
|
- _gl.uniformMatrix4fv( p_uniforms.cameraInverseMatrix, false, _viewMatrixArray );
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1470,14 +1468,14 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
|
|
|
|
if ( material instanceof THREE.MeshShaderMaterial ||
|
|
if ( material instanceof THREE.MeshShaderMaterial ||
|
|
material instanceof THREE.MeshPhongMaterial ||
|
|
material instanceof THREE.MeshPhongMaterial ||
|
|
- material.env_map ) {
|
|
|
|
|
|
+ material.envMap ) {
|
|
|
|
|
|
_gl.uniform3f( p_uniforms.cameraPosition, camera.position.x, camera.position.y, camera.position.z );
|
|
_gl.uniform3f( p_uniforms.cameraPosition, camera.position.x, camera.position.y, camera.position.z );
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
if ( material instanceof THREE.MeshShaderMaterial ||
|
|
if ( material instanceof THREE.MeshShaderMaterial ||
|
|
- material.env_map ||
|
|
|
|
|
|
+ material.envMap ||
|
|
material.skinning ) {
|
|
material.skinning ) {
|
|
|
|
|
|
_gl.uniformMatrix4fv( p_uniforms.objectMatrix, false, object._objectMatrixArray );
|
|
_gl.uniformMatrix4fv( p_uniforms.objectMatrix, false, object._objectMatrixArray );
|
|
@@ -1605,7 +1603,7 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
|
|
|
|
if ( material.wireframe ) {
|
|
if ( material.wireframe ) {
|
|
|
|
|
|
- _gl.lineWidth( material.wireframe_linewidth );
|
|
|
|
|
|
+ _gl.lineWidth( material.wireframeLinewidth );
|
|
_gl.bindBuffer( _gl.ELEMENT_ARRAY_BUFFER, geometryChunk.__webGLLineBuffer );
|
|
_gl.bindBuffer( _gl.ELEMENT_ARRAY_BUFFER, geometryChunk.__webGLLineBuffer );
|
|
_gl.drawElements( _gl.LINES, geometryChunk.__webGLLineCount, _gl.UNSIGNED_SHORT, 0 );
|
|
_gl.drawElements( _gl.LINES, geometryChunk.__webGLLineCount, _gl.UNSIGNED_SHORT, 0 );
|
|
|
|
|
|
@@ -1856,20 +1854,13 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
fog = scene.fog,
|
|
fog = scene.fog,
|
|
ol;
|
|
ol;
|
|
|
|
|
|
-
|
|
|
|
-// EMPA: needs to be reset
|
|
|
|
- _oldProgram = null,
|
|
|
|
-
|
|
|
|
-
|
|
|
|
camera.matrixAutoUpdate && camera.update();
|
|
camera.matrixAutoUpdate && camera.update();
|
|
|
|
|
|
camera.matrixWorldInverse.flattenToArray( _viewMatrixArray );
|
|
camera.matrixWorldInverse.flattenToArray( _viewMatrixArray );
|
|
camera.projectionMatrix.flattenToArray( _projectionMatrixArray );
|
|
camera.projectionMatrix.flattenToArray( _projectionMatrixArray );
|
|
|
|
|
|
_projScreenMatrix.multiply( camera.projectionMatrix, camera.matrixWorldInverse );
|
|
_projScreenMatrix.multiply( camera.projectionMatrix, camera.matrixWorldInverse );
|
|
-
|
|
|
|
-// EMPA: calling camera frustum check
|
|
|
|
-// computeFrustum( _projScreenMatrix );
|
|
|
|
|
|
+ computeFrustum( _projScreenMatrix );
|
|
|
|
|
|
if( THREE.AnimationHandler ) THREE.AnimationHandler.update();
|
|
if( THREE.AnimationHandler ) THREE.AnimationHandler.update();
|
|
|
|
|
|
@@ -1896,9 +1887,7 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
|
|
|
|
if ( object.visible ) {
|
|
if ( object.visible ) {
|
|
|
|
|
|
-// EMPA: calling camera frustum check (probably faster to have inside of WebGLRenderer)
|
|
|
|
-// if ( ! ( object instanceof THREE.Mesh ) || isInFrustum( object ) ) {
|
|
|
|
- if ( ! ( object instanceof THREE.Mesh ) || camera.frustumContains( object ) ) {
|
|
|
|
|
|
+ if ( ! ( object instanceof THREE.Mesh ) || isInFrustum( object ) ) {
|
|
|
|
|
|
object.matrixWorld.flattenToArray( object._objectMatrixArray );
|
|
object.matrixWorld.flattenToArray( object._objectMatrixArray );
|
|
|
|
|
|
@@ -1910,13 +1899,10 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
|
|
|
|
if ( this.sortObjects ) {
|
|
if ( this.sortObjects ) {
|
|
|
|
|
|
-// EMPA: positionScreen.z contains the z-depth in camera space after camera.frustumContains
|
|
|
|
-// _vector3.copy( object.position );
|
|
|
|
-// _projScreenMatrix.multiplyVector3( _vector3 );
|
|
|
|
|
|
+ _vector3.copy( object.position );
|
|
|
|
+ _projScreenMatrix.multiplyVector3( _vector3 );
|
|
|
|
|
|
-// webGLObject.z = _vector3.z;
|
|
|
|
-
|
|
|
|
- webGLObject.z = object.positionScreen.z;
|
|
|
|
|
|
+ webGLObject.z = _vector3.z;
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1983,7 +1969,7 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
|
|
|
|
material = opaque.list[ i ];
|
|
material = opaque.list[ i ];
|
|
|
|
|
|
- setDepthTest( material.depth_test );
|
|
|
|
|
|
+ setDepthTest( material.depthTest );
|
|
renderBuffer( camera, lights, fog, material, buffer, object );
|
|
renderBuffer( camera, lights, fog, material, buffer, object );
|
|
|
|
|
|
}
|
|
}
|
|
@@ -2009,7 +1995,7 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
|
|
|
|
material = opaque.list[ i ];
|
|
material = opaque.list[ i ];
|
|
|
|
|
|
- setDepthTest( material.depth_test );
|
|
|
|
|
|
+ setDepthTest( material.depthTest );
|
|
|
|
|
|
program = setProgram( camera, lights, fog, material, object );
|
|
program = setProgram( camera, lights, fog, material, object );
|
|
object.render( function( object ) { renderBufferImmediate( object, program ); } );
|
|
object.render( function( object ) { renderBufferImmediate( object, program ); } );
|
|
@@ -2039,7 +2025,7 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
material = transparent.list[ i ];
|
|
material = transparent.list[ i ];
|
|
|
|
|
|
setBlending( material.blending );
|
|
setBlending( material.blending );
|
|
- setDepthTest( material.depth_test );
|
|
|
|
|
|
+ setDepthTest( material.depthTest );
|
|
|
|
|
|
renderBuffer( camera, lights, fog, material, buffer, object );
|
|
renderBuffer( camera, lights, fog, material, buffer, object );
|
|
|
|
|
|
@@ -2067,7 +2053,7 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
material = transparent.list[ i ];
|
|
material = transparent.list[ i ];
|
|
|
|
|
|
setBlending( material.blending );
|
|
setBlending( material.blending );
|
|
- setDepthTest( material.depth_test );
|
|
|
|
|
|
+ setDepthTest( material.depthTest );
|
|
|
|
|
|
program = setProgram( camera, lights, fog, material, object );
|
|
program = setProgram( camera, lights, fog, material, object );
|
|
object.render( function( object ) { renderBufferImmediate( object, program ); } );
|
|
object.render( function( object ) { renderBufferImmediate( object, program ); } );
|
|
@@ -2080,7 +2066,7 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
|
|
|
|
// Generate mipmap if we're using any kind of mipmap filtering
|
|
// 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 );
|
|
updateRenderTargetMipmap( renderTarget );
|
|
|
|
|
|
@@ -2308,14 +2294,9 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
|
|
|
|
function setupMatrices ( object, camera ) {
|
|
function setupMatrices ( object, camera ) {
|
|
|
|
|
|
-// EMPA: moved inverse * matrixWorld to vertex shader
|
|
|
|
-// object._modelViewMatrix.multiplyToArray( camera.matrixWorldInverse, object.matrixWorld, object._modelViewMatrixArray );
|
|
|
|
-// THREE.Matrix4.makeInvert3x3( object._modelViewMatrix ).transposeIntoArray( object._normalMatrixArray );
|
|
|
|
-
|
|
|
|
|
|
+ object._modelViewMatrix.multiplyToArray( camera.matrixWorldInverse, object.matrixWorld, object._modelViewMatrixArray );
|
|
|
|
+ THREE.Matrix4.makeInvert3x3( object._modelViewMatrix ).transposeIntoArray( object._normalMatrixArray );
|
|
|
|
|
|
-// EMPA: the normal update part is only needed when object (or object's parents) have been rotated (could be done inside Mesh.update)
|
|
|
|
- object.matrixWorld.flattenToArray( object._modelViewMatrixArray );
|
|
|
|
- THREE.Matrix4.makeInvert3x3( object.matrixWorld ).transposeIntoArray( object._normalMatrixArray );
|
|
|
|
};
|
|
};
|
|
|
|
|
|
this.setFaceCulling = function ( cullFace, frontFace ) {
|
|
this.setFaceCulling = function ( cullFace, frontFace ) {
|
|
@@ -2393,16 +2374,15 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
_gl.cullFace( _gl.BACK );
|
|
_gl.cullFace( _gl.BACK );
|
|
_gl.enable( _gl.CULL_FACE );
|
|
_gl.enable( _gl.CULL_FACE );
|
|
|
|
|
|
-// EMPA: enable only when neccesary
|
|
|
|
-// _gl.enable( _gl.BLEND );
|
|
|
|
-// _gl.blendFunc( _gl.ONE, _gl.ONE_MINUS_SRC_ALPHA );
|
|
|
|
|
|
+ _gl.enable( _gl.BLEND );
|
|
|
|
+ _gl.blendFunc( _gl.ONE, _gl.ONE_MINUS_SRC_ALPHA );
|
|
_gl.clearColor( clearColor.r, clearColor.g, clearColor.b, clearAlpha );
|
|
_gl.clearColor( clearColor.r, clearColor.g, clearColor.b, clearAlpha );
|
|
|
|
|
|
_cullEnabled = true;
|
|
_cullEnabled = true;
|
|
|
|
|
|
};
|
|
};
|
|
|
|
|
|
- function buildProgram( fragment_shader, vertex_shader, parameters ) {
|
|
|
|
|
|
+ function buildProgram( fragmentShader, vertexShader, parameters ) {
|
|
|
|
|
|
var program = _gl.createProgram(),
|
|
var program = _gl.createProgram(),
|
|
|
|
|
|
@@ -2418,9 +2398,9 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
parameters.fog instanceof THREE.FogExp2 ? "#define FOG_EXP2" : "",
|
|
parameters.fog instanceof THREE.FogExp2 ? "#define FOG_EXP2" : "",
|
|
|
|
|
|
parameters.map ? "#define USE_MAP" : "",
|
|
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 mat4 viewMatrix;",
|
|
"uniform vec3 cameraPosition;",
|
|
"uniform vec3 cameraPosition;",
|
|
@@ -2434,9 +2414,9 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
"#define MAX_POINT_LIGHTS " + parameters.maxPointLights,
|
|
"#define MAX_POINT_LIGHTS " + parameters.maxPointLights,
|
|
|
|
|
|
parameters.map ? "#define USE_MAP" : "",
|
|
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" : "",
|
|
parameters.skinning ? "#define USE_SKINNING" : "",
|
|
|
|
|
|
"uniform mat4 objectMatrix;",
|
|
"uniform mat4 objectMatrix;",
|
|
@@ -2461,8 +2441,8 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
""
|
|
""
|
|
].join("\n");
|
|
].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 );
|
|
_gl.linkProgram( program );
|
|
|
|
|
|
@@ -2471,13 +2451,13 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
alert( "Could not initialise shaders\n"+
|
|
alert( "Could not initialise shaders\n"+
|
|
"VALIDATE_STATUS: " + _gl.getProgramParameter( program, _gl.VALIDATE_STATUS ) + ", gl error [" + _gl.getError() + "]" );
|
|
"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.uniforms = {};
|
|
program.attributes = {};
|
|
program.attributes = {};
|
|
@@ -2495,13 +2475,9 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
|
|
|
|
function loadUniformsMatrices( uniforms, object ) {
|
|
function loadUniformsMatrices( uniforms, object ) {
|
|
|
|
|
|
-// EMPA: added inverse * matrixWorld to vertex shader
|
|
|
|
-// _gl.uniformMatrix4fv( uniforms.modelViewMatrix, false, object._modelViewMatrixArray );
|
|
|
|
-// _gl.uniformMatrix3fv( uniforms.normalMatrix, false, object._normalMatrixArray );
|
|
|
|
-
|
|
|
|
-// _gl.uniformMatrix4fv( uniforms.cameraInverseMatrix, false, _viewMatrixArray );
|
|
|
|
_gl.uniformMatrix4fv( uniforms.modelViewMatrix, false, object._modelViewMatrixArray );
|
|
_gl.uniformMatrix4fv( uniforms.modelViewMatrix, false, object._modelViewMatrixArray );
|
|
_gl.uniformMatrix3fv( uniforms.normalMatrix, false, object._normalMatrixArray );
|
|
_gl.uniformMatrix3fv( uniforms.normalMatrix, false, object._normalMatrixArray );
|
|
|
|
+
|
|
};
|
|
};
|
|
|
|
|
|
function loadUniformsGeneric( program, uniforms ) {
|
|
function loadUniformsGeneric( program, uniforms ) {
|
|
@@ -2670,11 +2646,11 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
_gl.bindTexture( _gl.TEXTURE_2D, texture.__webGLTexture );
|
|
_gl.bindTexture( _gl.TEXTURE_2D, texture.__webGLTexture );
|
|
_gl.texImage2D( _gl.TEXTURE_2D, 0, _gl.RGBA, _gl.RGBA, _gl.UNSIGNED_BYTE, texture.image );
|
|
_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.generateMipmap( _gl.TEXTURE_2D );
|
|
_gl.bindTexture( _gl.TEXTURE_2D, null );
|
|
_gl.bindTexture( _gl.TEXTURE_2D, null );
|
|
|
|
|
|
@@ -2685,11 +2661,11 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
_gl.bindTexture( _gl.TEXTURE_2D, texture.__webGLTexture );
|
|
_gl.bindTexture( _gl.TEXTURE_2D, texture.__webGLTexture );
|
|
_gl.texSubImage2D( _gl.TEXTURE_2D, 0, 0, 0, _gl.RGBA, _gl.UNSIGNED_BYTE, texture.image );
|
|
_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.generateMipmap( _gl.TEXTURE_2D );
|
|
_gl.bindTexture( _gl.TEXTURE_2D, null );
|
|
_gl.bindTexture( _gl.TEXTURE_2D, null );
|
|
|
|
|
|
@@ -2720,10 +2696,10 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
// Setup texture
|
|
// Setup texture
|
|
|
|
|
|
_gl.bindTexture( _gl.TEXTURE_2D, renderTexture.__webGLTexture );
|
|
_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 );
|
|
_gl.texImage2D( _gl.TEXTURE_2D, 0, paramThreeToGL( renderTexture.format ), renderTexture.width, renderTexture.height, 0, paramThreeToGL( renderTexture.format ), paramThreeToGL( renderTexture.type ), null );
|
|
|
|
|
|
// Setup framebuffer
|
|
// Setup framebuffer
|
|
@@ -3030,7 +3006,7 @@ THREE.Snippets = {
|
|
|
|
|
|
"varying vec3 vReflect;",
|
|
"varying vec3 vReflect;",
|
|
"uniform float reflectivity;",
|
|
"uniform float reflectivity;",
|
|
- "uniform samplerCube env_map;",
|
|
|
|
|
|
+ "uniform samplerCube envMap;",
|
|
"uniform int combine;",
|
|
"uniform int combine;",
|
|
|
|
|
|
"#endif"
|
|
"#endif"
|
|
@@ -3041,7 +3017,7 @@ THREE.Snippets = {
|
|
|
|
|
|
"#ifdef USE_ENVMAP",
|
|
"#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 ) {",
|
|
"if ( combine == 1 ) {",
|
|
|
|
|
|
@@ -3063,7 +3039,7 @@ THREE.Snippets = {
|
|
"#ifdef USE_ENVMAP",
|
|
"#ifdef USE_ENVMAP",
|
|
|
|
|
|
"varying vec3 vReflect;",
|
|
"varying vec3 vReflect;",
|
|
- "uniform float refraction_ratio;",
|
|
|
|
|
|
+ "uniform float refractionRatio;",
|
|
"uniform bool useRefract;",
|
|
"uniform bool useRefract;",
|
|
|
|
|
|
"#endif"
|
|
"#endif"
|
|
@@ -3079,7 +3055,7 @@ THREE.Snippets = {
|
|
|
|
|
|
"if ( useRefract ) {",
|
|
"if ( useRefract ) {",
|
|
|
|
|
|
- "vReflect = refract( normalize( mPosition.xyz - cameraPosition ), normalize( nWorld.xyz ), refraction_ratio );",
|
|
|
|
|
|
+ "vReflect = refract( normalize( mPosition.xyz - cameraPosition ), normalize( nWorld.xyz ), refractionRatio );",
|
|
|
|
|
|
"} else {",
|
|
"} else {",
|
|
|
|
|
|
@@ -3164,7 +3140,7 @@ THREE.Snippets = {
|
|
"#ifdef USE_LIGHTMAP",
|
|
"#ifdef USE_LIGHTMAP",
|
|
|
|
|
|
"varying vec2 vUv2;",
|
|
"varying vec2 vUv2;",
|
|
- "uniform sampler2D light_map;",
|
|
|
|
|
|
+ "uniform sampler2D lightMap;",
|
|
|
|
|
|
"#endif"
|
|
"#endif"
|
|
|
|
|
|
@@ -3184,7 +3160,7 @@ THREE.Snippets = {
|
|
|
|
|
|
"#ifdef USE_LIGHTMAP",
|
|
"#ifdef USE_LIGHTMAP",
|
|
|
|
|
|
- "gl_FragColor = gl_FragColor * texture2D( light_map, vUv2 );",
|
|
|
|
|
|
+ "gl_FragColor = gl_FragColor * texture2D( lightMap, vUv2 );",
|
|
|
|
|
|
"#endif"
|
|
"#endif"
|
|
|
|
|
|
@@ -3422,14 +3398,13 @@ THREE.Snippets = {
|
|
"gl_Position += ( boneGlobalMatrices[ int( skinIndex.y ) ] * skinVertexB ) * skinWeight.y;",
|
|
"gl_Position += ( boneGlobalMatrices[ int( skinIndex.y ) ] * skinVertexB ) * skinWeight.y;",
|
|
|
|
|
|
// this doesn't work, no idea why
|
|
// this doesn't work, no idea why
|
|
- "gl_Position = projectionMatrix * cameraInverseMatrix * objectMatrix * gl_Position;",
|
|
|
|
|
|
+ //"gl_Position = projectionMatrix * cameraInverseMatrix * objectMatrix * gl_Position;",
|
|
|
|
|
|
- // EMPA: Above should work now
|
|
|
|
- //"gl_Position = projectionMatrix * viewMatrix * objectMatrix * gl_Position;",
|
|
|
|
|
|
+ "gl_Position = projectionMatrix * viewMatrix * objectMatrix * gl_Position;",
|
|
|
|
|
|
"#else",
|
|
"#else",
|
|
|
|
|
|
- "gl_Position = projectionMatrix * cameraInverseMatrix * mvPosition;",
|
|
|
|
|
|
+ "gl_Position = projectionMatrix * mvPosition;",
|
|
|
|
|
|
"#endif"
|
|
"#endif"
|
|
|
|
|
|
@@ -3445,12 +3420,12 @@ THREE.UniformsLib = {
|
|
"opacity" : { type: "f", value: 1.0 },
|
|
"opacity" : { type: "f", value: 1.0 },
|
|
"map" : { type: "t", value: 0, texture: null },
|
|
"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 },
|
|
"useRefract" : { type: "i", value: 0 },
|
|
"reflectivity" : { type: "f", value: 1.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 },
|
|
"combine" : { type: "i", value: 0 },
|
|
|
|
|
|
"fogDensity": { type: "f", value: 0.00025 },
|
|
"fogDensity": { type: "f", value: 0.00025 },
|
|
@@ -3496,7 +3471,7 @@ THREE.ShaderLib = {
|
|
"opacity" : { type: "f", value: 1.0 }
|
|
"opacity" : { type: "f", value: 1.0 }
|
|
},
|
|
},
|
|
|
|
|
|
- fragment_shader: [
|
|
|
|
|
|
+ fragmentShader: [
|
|
|
|
|
|
"uniform float mNear;",
|
|
"uniform float mNear;",
|
|
"uniform float mFar;",
|
|
"uniform float mFar;",
|
|
@@ -3512,11 +3487,11 @@ THREE.ShaderLib = {
|
|
|
|
|
|
].join("\n"),
|
|
].join("\n"),
|
|
|
|
|
|
- vertex_shader: [
|
|
|
|
|
|
+ vertexShader: [
|
|
|
|
|
|
"void main() {",
|
|
"void main() {",
|
|
|
|
|
|
- "gl_Position = projectionMatrix * cameraInverseMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
|
|
|
|
+ "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
|
|
|
|
"}"
|
|
"}"
|
|
|
|
|
|
@@ -3528,7 +3503,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
uniforms: { "opacity" : { type: "f", value: 1.0 } },
|
|
uniforms: { "opacity" : { type: "f", value: 1.0 } },
|
|
|
|
|
|
- fragment_shader: [
|
|
|
|
|
|
+ fragmentShader: [
|
|
|
|
|
|
"uniform float opacity;",
|
|
"uniform float opacity;",
|
|
"varying vec3 vNormal;",
|
|
"varying vec3 vNormal;",
|
|
@@ -3541,7 +3516,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
].join("\n"),
|
|
].join("\n"),
|
|
|
|
|
|
- vertex_shader: [
|
|
|
|
|
|
+ vertexShader: [
|
|
|
|
|
|
"varying vec3 vNormal;",
|
|
"varying vec3 vNormal;",
|
|
|
|
|
|
@@ -3550,7 +3525,7 @@ THREE.ShaderLib = {
|
|
"vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",
|
|
"vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",
|
|
"vNormal = normalize( normalMatrix * normal );",
|
|
"vNormal = normalize( normalMatrix * normal );",
|
|
|
|
|
|
- "gl_Position = projectionMatrix * cameraInverseMatrix * mvPosition;",
|
|
|
|
|
|
+ "gl_Position = projectionMatrix * mvPosition;",
|
|
|
|
|
|
"}"
|
|
"}"
|
|
|
|
|
|
@@ -3562,7 +3537,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
uniforms: THREE.UniformsLib[ "common" ],
|
|
uniforms: THREE.UniformsLib[ "common" ],
|
|
|
|
|
|
- fragment_shader: [
|
|
|
|
|
|
+ fragmentShader: [
|
|
|
|
|
|
"uniform vec3 diffuse;",
|
|
"uniform vec3 diffuse;",
|
|
"uniform float opacity;",
|
|
"uniform float opacity;",
|
|
@@ -3587,7 +3562,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
].join("\n"),
|
|
].join("\n"),
|
|
|
|
|
|
- vertex_shader: [
|
|
|
|
|
|
+ vertexShader: [
|
|
|
|
|
|
THREE.Snippets[ "map_pars_vertex" ],
|
|
THREE.Snippets[ "map_pars_vertex" ],
|
|
THREE.Snippets[ "lightmap_pars_vertex" ],
|
|
THREE.Snippets[ "lightmap_pars_vertex" ],
|
|
@@ -3616,7 +3591,7 @@ THREE.ShaderLib = {
|
|
uniforms: Uniforms.merge( [ THREE.UniformsLib[ "common" ],
|
|
uniforms: Uniforms.merge( [ THREE.UniformsLib[ "common" ],
|
|
THREE.UniformsLib[ "lights" ] ] ),
|
|
THREE.UniformsLib[ "lights" ] ] ),
|
|
|
|
|
|
- fragment_shader: [
|
|
|
|
|
|
+ fragmentShader: [
|
|
|
|
|
|
"uniform vec3 diffuse;",
|
|
"uniform vec3 diffuse;",
|
|
"uniform float opacity;",
|
|
"uniform float opacity;",
|
|
@@ -3644,7 +3619,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
].join("\n"),
|
|
].join("\n"),
|
|
|
|
|
|
- vertex_shader: [
|
|
|
|
|
|
+ vertexShader: [
|
|
|
|
|
|
"varying vec3 vLightWeighting;",
|
|
"varying vec3 vLightWeighting;",
|
|
|
|
|
|
@@ -3687,7 +3662,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
] ),
|
|
] ),
|
|
|
|
|
|
- fragment_shader: [
|
|
|
|
|
|
+ fragmentShader: [
|
|
|
|
|
|
"uniform vec3 diffuse;",
|
|
"uniform vec3 diffuse;",
|
|
"uniform float opacity;",
|
|
"uniform float opacity;",
|
|
@@ -3720,7 +3695,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
].join("\n"),
|
|
].join("\n"),
|
|
|
|
|
|
- vertex_shader: [
|
|
|
|
|
|
+ vertexShader: [
|
|
|
|
|
|
"#define PHONG",
|
|
"#define PHONG",
|
|
|
|
|
|
@@ -3766,7 +3741,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
uniforms: THREE.UniformsLib[ "particle" ],
|
|
uniforms: THREE.UniformsLib[ "particle" ],
|
|
|
|
|
|
- fragment_shader: [
|
|
|
|
|
|
+ fragmentShader: [
|
|
|
|
|
|
"uniform vec3 psColor;",
|
|
"uniform vec3 psColor;",
|
|
"uniform float opacity;",
|
|
"uniform float opacity;",
|
|
@@ -3787,7 +3762,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
].join("\n"),
|
|
].join("\n"),
|
|
|
|
|
|
- vertex_shader: [
|
|
|
|
|
|
+ vertexShader: [
|
|
|
|
|
|
"uniform float size;",
|
|
"uniform float size;",
|
|
|
|
|
|
@@ -3799,7 +3774,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
"vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",
|
|
"vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",
|
|
|
|
|
|
- "gl_Position = projectionMatrix * cameraInverseMatrix * mvPosition;",
|
|
|
|
|
|
+ "gl_Position = projectionMatrix * mvPosition;",
|
|
"gl_PointSize = size;",
|
|
"gl_PointSize = size;",
|
|
//"gl_PointSize = 10.0 + 6.0 * mvPosition.z;";
|
|
//"gl_PointSize = 10.0 + 6.0 * mvPosition.z;";
|
|
|
|
|