Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
354c02b8
T
three.js
项目概览
Ablesons
/
three.js
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
three.js
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
354c02b8
编写于
4月 19, 2017
作者:
M
Mr.doob
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Updated builds.
上级
40a09205
变更
3
展开全部
隐藏空白更改
内联
并排
Showing
3 changed file
with
612 addition
and
616 deletion
+612
-616
build/three.js
build/three.js
+71
-73
build/three.min.js
build/three.min.js
+470
-470
build/three.module.js
build/three.module.js
+71
-73
未找到文件。
build/three.js
浏览文件 @
354c02b8
...
...
@@ -9166,6 +9166,10 @@
}
var shadowCamera = shadow.camera;
var shadowMatrix = shadow.matrix;
_lightPositionWorld.setFromMatrixPosition( light.matrixWorld );
shadowCamera.position.copy( _lightPositionWorld );
_shadowMapSize.copy( shadow.mapSize );
_shadowMapSize.min( _maxShadowMapSize );
...
...
@@ -9207,11 +9211,34 @@
_shadowMapSize.x *= 4.0;
_shadowMapSize.y *= 2.0;
// for point lights we set the shadow matrix to be a translation-only matrix
// equal to inverse of the light's position
shadowMatrix.makeTranslation( - _lightPositionWorld.x, - _lightPositionWorld.y, - _lightPositionWorld.z );
} else {
faceCount = 1;
isPointLight = false;
_lookTarget.setFromMatrixPosition( light.target.matrixWorld );
shadowCamera.lookAt( _lookTarget );
shadowCamera.updateMatrixWorld();
shadowCamera.matrixWorldInverse.getInverse( shadowCamera.matrixWorld );
// compute shadow matrix
shadowMatrix.set(
0.5, 0.0, 0.0, 0.5,
0.0, 0.5, 0.0, 0.5,
0.0, 0.0, 0.5, 0.5,
0.0, 0.0, 0.0, 1.0
);
shadowMatrix.multiply( shadowCamera.projectionMatrix );
shadowMatrix.multiply( shadowCamera.matrixWorldInverse );
}
if ( shadow.map === null ) {
...
...
@@ -9232,10 +9259,6 @@
}
var shadowMap = shadow.map;
var shadowMatrix = shadow.matrix;
_lightPositionWorld.setFromMatrixPosition( light.matrixWorld );
shadowCamera.position.copy( _lightPositionWorld );
_renderer.setRenderTarget( shadowMap );
_renderer.clear();
...
...
@@ -9251,32 +9274,14 @@
_lookTarget.add( cubeDirections[ face ] );
shadowCamera.up.copy( cubeUps[ face ] );
shadowCamera.lookAt( _lookTarget );
shadowCamera.updateMatrixWorld();
shadowCamera.matrixWorldInverse.getInverse( shadowCamera.matrixWorld );
var vpDimensions = cube2DViewPorts[ face ];
_state.viewport( vpDimensions );
} else {
_lookTarget.setFromMatrixPosition( light.target.matrixWorld );
shadowCamera.lookAt( _lookTarget );
}
shadowCamera.updateMatrixWorld();
shadowCamera.matrixWorldInverse.getInverse( shadowCamera.matrixWorld );
// compute shadow matrix
shadowMatrix.set(
0.5, 0.0, 0.0, 0.5,
0.0, 0.5, 0.0, 0.5,
0.0, 0.0, 0.5, 0.5,
0.0, 0.0, 0.0, 1.0
);
shadowMatrix.multiply( shadowCamera.projectionMatrix );
shadowMatrix.multiply( shadowCamera.matrixWorldInverse );
// update camera matrices and frustum
_projScreenMatrix.multiplyMatrices( shadowCamera.projectionMatrix, shadowCamera.matrixWorldInverse );
...
...
@@ -21129,73 +21134,79 @@
if ( ! object.visible ) return;
if ( object.isLight ) {
var visible = object.layers.test( camera.layers );
lights.push( object );
if ( visible ) {
} else if ( object.isSprite
) {
if ( object.isLight
) {
if ( ! object.frustumCulled || _frustum.intersectsSprite( object ) ) {
lights.push( object );
sprites.push( object );
} else if ( object.isSprite ) {
}
if ( ! object.frustumCulled || _frustum.intersectsSprite( object ) ) {
} else if ( object.isLensFlare ) {
sprites.push( object );
lensFlares.push( object );
}
} else if ( object.isImmediateRenderObject
) {
} else if ( object.isLensFlare
) {
if ( sortObjects ) {
lensFlares.push( object );
_vector3.setFromMatrixPosition( object.matrixWorld )
.applyMatrix4( _projScreenMatrix );
} else if ( object.isImmediateRenderObject ) {
}
if ( sortObjects ) {
currentRenderList.push( object, null, object.material, _vector3.z, null );
_vector3.setFromMatrixPosition( object.matrixWorld )
.applyMatrix4( _projScreenMatrix );
} else if ( object.isMesh || object.isLine || object.isPoints ) {
}
if ( object.isSkinnedMesh ) {
currentRenderList.push( object, null, object.material, _vector3.z, null );
object.skeleton.update();
} else if ( object.isMesh || object.isLine || object.isPoints ) {
}
if ( object.isSkinnedMesh ) {
if ( ! object.frustumCulled || _frustum.intersectsObject( object ) ) {
object.skeleton.update();
if ( sortObjects ) {
}
_vector3.setFromMatrixPosition( object.matrixWorld )
.applyMatrix4( _projScreenMatrix );
if ( ! object.frustumCulled || _frustum.intersectsObject( object ) ) {
}
if ( sortObjects ) {
var geometry = objects.update( object );
var material = object.material
;
_vector3.setFromMatrixPosition( object.matrixWorld )
.applyMatrix4( _projScreenMatrix )
;
if ( Array.isArray( material ) ) {
}
var groups = geometry.groups;
var geometry = objects.update( object );
var material = object.material;
for ( var i = 0, l = groups.length; i < l; i ++
) {
if ( Array.isArray( material )
) {
var group = groups[ i ];
var groupMaterial = material[ group.materialIndex ];
var groups = geometry.groups;
if ( groupMaterial && groupMaterial.visible ) {
for ( var i = 0, l = groups.length; i < l; i ++ ) {
var group = groups[ i ];
var groupMaterial = material[ group.materialIndex ];
currentRenderList.push( object, geometry, groupMaterial, _vector3.z, group );
if ( groupMaterial && groupMaterial.visible ) {
currentRenderList.push( object, geometry, groupMaterial, _vector3.z, group );
}
}
}
}
else if ( material.visible ) {
} else if ( material.visible ) {
currentRenderList.push( object, geometry, material, _vector3.z, null );
currentRenderList.push( object, geometry, material, _vector3.z, null );
}
}
...
...
@@ -21263,8 +21274,6 @@
function renderObject( object, scene, camera, geometry, material, group ) {
if ( object.layers.test( camera.layers ) === false ) return;
object.modelViewMatrix.multiplyMatrices( camera.matrixWorldInverse, object.matrixWorld );
object.normalMatrix.getNormalMatrix( object.modelViewMatrix );
...
...
@@ -22241,18 +22250,7 @@
}
_lights.pointShadowMap[ pointLength ] = shadowMap;
if ( _lights.pointShadowMatrix[ pointLength ] === undefined ) {
_lights.pointShadowMatrix[ pointLength ] = new Matrix4();
}
// for point lights we set the shadow matrix to be a translation-only matrix
// equal to inverse of the light's position
_vector3.setFromMatrixPosition( light.matrixWorld ).negate();
_lights.pointShadowMatrix[ pointLength ].identity().setPosition( _vector3 );
_lights.pointShadowMatrix[ pointLength ] = light.shadow.matrix;
_lights.point[ pointLength ] = uniforms;
pointLength ++;
...
...
build/three.min.js
浏览文件 @
354c02b8
此差异已折叠。
点击以展开。
build/three.module.js
浏览文件 @
354c02b8
...
...
@@ -9160,6 +9160,10 @@ function WebGLShadowMap( _renderer, _lights, _objects, capabilities ) {
}
var shadowCamera = shadow.camera;
var shadowMatrix = shadow.matrix;
_lightPositionWorld.setFromMatrixPosition( light.matrixWorld );
shadowCamera.position.copy( _lightPositionWorld );
_shadowMapSize.copy( shadow.mapSize );
_shadowMapSize.min( _maxShadowMapSize );
...
...
@@ -9201,11 +9205,34 @@ function WebGLShadowMap( _renderer, _lights, _objects, capabilities ) {
_shadowMapSize.x *= 4.0;
_shadowMapSize.y *= 2.0;
// for point lights we set the shadow matrix to be a translation-only matrix
// equal to inverse of the light's position
shadowMatrix.makeTranslation( - _lightPositionWorld.x, - _lightPositionWorld.y, - _lightPositionWorld.z );
} else {
faceCount = 1;
isPointLight = false;
_lookTarget.setFromMatrixPosition( light.target.matrixWorld );
shadowCamera.lookAt( _lookTarget );
shadowCamera.updateMatrixWorld();
shadowCamera.matrixWorldInverse.getInverse( shadowCamera.matrixWorld );
// compute shadow matrix
shadowMatrix.set(
0.5, 0.0, 0.0, 0.5,
0.0, 0.5, 0.0, 0.5,
0.0, 0.0, 0.5, 0.5,
0.0, 0.0, 0.0, 1.0
);
shadowMatrix.multiply( shadowCamera.projectionMatrix );
shadowMatrix.multiply( shadowCamera.matrixWorldInverse );
}
if ( shadow.map === null ) {
...
...
@@ -9226,10 +9253,6 @@ function WebGLShadowMap( _renderer, _lights, _objects, capabilities ) {
}
var shadowMap = shadow.map;
var shadowMatrix = shadow.matrix;
_lightPositionWorld.setFromMatrixPosition( light.matrixWorld );
shadowCamera.position.copy( _lightPositionWorld );
_renderer.setRenderTarget( shadowMap );
_renderer.clear();
...
...
@@ -9245,32 +9268,14 @@ function WebGLShadowMap( _renderer, _lights, _objects, capabilities ) {
_lookTarget.add( cubeDirections[ face ] );
shadowCamera.up.copy( cubeUps[ face ] );
shadowCamera.lookAt( _lookTarget );
shadowCamera.updateMatrixWorld();
shadowCamera.matrixWorldInverse.getInverse( shadowCamera.matrixWorld );
var vpDimensions = cube2DViewPorts[ face ];
_state.viewport( vpDimensions );
} else {
_lookTarget.setFromMatrixPosition( light.target.matrixWorld );
shadowCamera.lookAt( _lookTarget );
}
shadowCamera.updateMatrixWorld();
shadowCamera.matrixWorldInverse.getInverse( shadowCamera.matrixWorld );
// compute shadow matrix
shadowMatrix.set(
0.5, 0.0, 0.0, 0.5,
0.0, 0.5, 0.0, 0.5,
0.0, 0.0, 0.5, 0.5,
0.0, 0.0, 0.0, 1.0
);
shadowMatrix.multiply( shadowCamera.projectionMatrix );
shadowMatrix.multiply( shadowCamera.matrixWorldInverse );
// update camera matrices and frustum
_projScreenMatrix.multiplyMatrices( shadowCamera.projectionMatrix, shadowCamera.matrixWorldInverse );
...
...
@@ -21123,73 +21128,79 @@ function WebGLRenderer( parameters ) {
if ( ! object.visible ) return;
if ( object.isLight ) {
var visible = object.layers.test( camera.layers );
lights.push( object );
if ( visible ) {
} else if ( object.isSprite
) {
if ( object.isLight
) {
if ( ! object.frustumCulled || _frustum.intersectsSprite( object ) ) {
lights.push( object );
sprites.push( object );
} else if ( object.isSprite ) {
}
if ( ! object.frustumCulled || _frustum.intersectsSprite( object ) ) {
} else if ( object.isLensFlare ) {
sprites.push( object );
lensFlares.push( object );
}
} else if ( object.isImmediateRenderObject
) {
} else if ( object.isLensFlare
) {
if ( sortObjects ) {
lensFlares.push( object );
_vector3.setFromMatrixPosition( object.matrixWorld )
.applyMatrix4( _projScreenMatrix );
} else if ( object.isImmediateRenderObject ) {
}
if ( sortObjects ) {
currentRenderList.push( object, null, object.material, _vector3.z, null );
_vector3.setFromMatrixPosition( object.matrixWorld )
.applyMatrix4( _projScreenMatrix );
} else if ( object.isMesh || object.isLine || object.isPoints ) {
}
if ( object.isSkinnedMesh ) {
currentRenderList.push( object, null, object.material, _vector3.z, null );
object.skeleton.update();
} else if ( object.isMesh || object.isLine || object.isPoints ) {
}
if ( object.isSkinnedMesh ) {
if ( ! object.frustumCulled || _frustum.intersectsObject( object ) ) {
object.skeleton.update();
if ( sortObjects ) {
}
_vector3.setFromMatrixPosition( object.matrixWorld )
.applyMatrix4( _projScreenMatrix );
if ( ! object.frustumCulled || _frustum.intersectsObject( object ) ) {
}
if ( sortObjects ) {
var geometry = objects.update( object );
var material = object.material
;
_vector3.setFromMatrixPosition( object.matrixWorld )
.applyMatrix4( _projScreenMatrix )
;
if ( Array.isArray( material ) ) {
}
var groups = geometry.groups;
var geometry = objects.update( object );
var material = object.material;
for ( var i = 0, l = groups.length; i < l; i ++
) {
if ( Array.isArray( material )
) {
var group = groups[ i ];
var groupMaterial = material[ group.materialIndex ];
var groups = geometry.groups;
if ( groupMaterial && groupMaterial.visible ) {
for ( var i = 0, l = groups.length; i < l; i ++ ) {
var group = groups[ i ];
var groupMaterial = material[ group.materialIndex ];
currentRenderList.push( object, geometry, groupMaterial, _vector3.z, group );
if ( groupMaterial && groupMaterial.visible ) {
currentRenderList.push( object, geometry, groupMaterial, _vector3.z, group );
}
}
}
}
else if ( material.visible ) {
} else if ( material.visible ) {
currentRenderList.push( object, geometry, material, _vector3.z, null );
currentRenderList.push( object, geometry, material, _vector3.z, null );
}
}
...
...
@@ -21257,8 +21268,6 @@ function WebGLRenderer( parameters ) {
function renderObject( object, scene, camera, geometry, material, group ) {
if ( object.layers.test( camera.layers ) === false ) return;
object.modelViewMatrix.multiplyMatrices( camera.matrixWorldInverse, object.matrixWorld );
object.normalMatrix.getNormalMatrix( object.modelViewMatrix );
...
...
@@ -22235,18 +22244,7 @@ function WebGLRenderer( parameters ) {
}
_lights.pointShadowMap[ pointLength ] = shadowMap;
if ( _lights.pointShadowMatrix[ pointLength ] === undefined ) {
_lights.pointShadowMatrix[ pointLength ] = new Matrix4();
}
// for point lights we set the shadow matrix to be a translation-only matrix
// equal to inverse of the light's position
_vector3.setFromMatrixPosition( light.matrixWorld ).negate();
_lights.pointShadowMatrix[ pointLength ].identity().setPosition( _vector3 );
_lights.pointShadowMatrix[ pointLength ] = light.shadow.matrix;
_lights.point[ pointLength ] = uniforms;
pointLength ++;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录