Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
bfff8529
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,发现更多精彩内容 >>
提交
bfff8529
编写于
10月 17, 2015
作者:
M
Mr.doob
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Updated builds.
上级
ff78bc52
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
10 addition
and
6 deletion
+10
-6
build/three.js
build/three.js
+6
-2
build/three.min.js
build/three.min.js
+4
-4
未找到文件。
build/three.js
浏览文件 @
bfff8529
...
...
@@ -22980,9 +22980,13 @@ THREE.WebGLRenderer = function ( parameters ) {
}
if (
object.receiveShadow && ! material._shadowPass
) {
if (
_this.shadowMap.enabled
) {
refreshUniformsShadow( m_uniforms, lights, camera );
if ( object.receiveShadow && ! material._shadowPass ) {
refreshUniformsShadow( m_uniforms, lights, camera );
}
}
...
...
build/three.min.js
浏览文件 @
bfff8529
...
...
@@ -554,10 +554,10 @@ d instanceof THREE.MeshLambertMaterial||d instanceof THREE.MeshPhongMaterial){k.
d
.
emissiveMap
);
void
0
!==
O
&&
(
O
instanceof
THREE
.
WebGLRenderTarget
&&
(
O
=
O
.
texture
),
n
=
O
.
offset
,
O
=
O
.
repeat
,
k
.
offsetRepeat
.
value
.
set
(
n
.
x
,
n
.
y
,
O
.
x
,
O
.
y
));
k
.
envMap
.
value
=
d
.
envMap
;
k
.
flipEnvMap
.
value
=
d
.
envMap
instanceof
THREE
.
WebGLRenderTargetCube
?
1
:
-
1
;
k
.
reflectivity
.
value
=
d
.
reflectivity
;
k
.
refractionRatio
.
value
=
d
.
refractionRatio
}
d
instanceof
THREE
.
LineBasicMaterial
?(
k
.
diffuse
.
value
=
d
.
color
,
k
.
opacity
.
value
=
d
.
opacity
):
d
instanceof
THREE
.
LineDashedMaterial
?(
k
.
diffuse
.
value
=
d
.
color
,
k
.
opacity
.
value
=
d
.
opacity
,
k
.
dashSize
.
value
=
d
.
dashSize
,
k
.
totalSize
.
value
=
d
.
dashSize
+
d
.
gapSize
,
k
.
scale
.
value
=
d
.
scale
):
d
instanceof
THREE
.
PointsMaterial
?(
k
.
psColor
.
value
=
d
.
color
,
k
.
opacity
.
value
=
d
.
opacity
,
k
.
size
.
value
=
d
.
size
,
k
.
scale
.
value
=
L
.
height
/
2
,
k
.
map
.
value
=
d
.
map
,
null
!==
d
.
map
&&
(
a
=
d
.
map
.
offset
,
O
=
d
.
map
.
repeat
,
k
.
offsetRepeat
.
value
.
set
(
a
.
x
,
a
.
y
,
O
.
x
,
O
.
y
))):
d
instanceof
THREE
.
MeshPhongMaterial
?(
k
.
specular
.
value
=
d
.
specular
,
k
.
shininess
.
value
=
Math
.
max
(
d
.
shininess
,
1
E
-
4
),
d
.
lightMap
&&
(
k
.
lightMap
.
value
=
d
.
lightMap
,
k
.
lightMapIntensity
.
value
=
d
.
lightMapIntensity
),
d
.
emissiveMap
&&
(
k
.
emissiveMap
.
value
=
d
.
emissiveMap
),
d
.
bumpMap
&&
(
k
.
bumpMap
.
value
=
d
.
bumpMap
,
k
.
bumpScale
.
value
=
d
.
bumpScale
),
d
.
normalMap
&&
(
k
.
normalMap
.
value
=
d
.
normalMap
,
k
.
normalScale
.
value
.
copy
(
d
.
normalScale
)),
d
.
displacementMap
&&
(
k
.
displacementMap
.
value
=
d
.
displacementMap
,
k
.
displacementScale
.
value
=
d
.
displacementScale
,
k
.
displacementBias
.
value
=
d
.
displacementBias
)):
d
instanceof
THREE
.
MeshDepthMaterial
?(
k
.
mNear
.
value
=
a
.
near
,
k
.
mFar
.
value
=
a
.
far
,
k
.
opacity
.
value
=
d
.
opacity
):
d
instanceof
THREE
.
MeshNormalMaterial
&&
(
k
.
opacity
.
value
=
d
.
opacity
);
if
(
e
.
receiveShadow
&&!
d
.
_shadowPass
&&
k
.
shadowMatrix
)
for
(
a
=
d
=
0
,
O
=
b
.
length
;
a
<
O
;
a
++
)
n
=
b
[
a
],
!
0
===
n
.
castShadow
&&
(
n
instanceof
THREE
.
PointLight
||
n
instanceof
THREE
.
SpotLight
||
n
instanceof
THREE
.
DirectionalLight
)
&&
(
c
=
n
.
shadow
,
n
instanceof
THREE
.
PointLight
?(
V
.
setFromMatrixPosition
(
n
.
matrixWorld
).
negate
(),
c
.
matrix
.
identity
().
setPosition
(
V
),
k
.
shadowDarkness
.
value
[
d
]
=-
c
.
darkness
):
k
.
shadowDarkness
.
value
[
d
]
=
c
.
darkness
,
k
.
shadowMatrix
.
value
[
d
]
=
c
.
matrix
,
k
.
shadowMap
.
value
[
d
]
=
c
.
map
,
k
.
shadowMapSize
.
value
[
d
]
=
c
.
map
Size
,
k
.
shadowBias
.
value
[
d
]
=
c
.
bias
,
d
++
);
b
=
f
.
uniformsList
;
f
=
0
;
for
(
d
=
b
.
length
;
f
<
d
;
f
++
)
if
(
a
=
b
[
f
][
0
],
!
1
!==
a
.
needsUpdate
)
switch
(
k
=
a
.
type
,
c
=
a
.
value
,
O
=
b
[
f
][
1
],
k
){
case
"
1i
"
:
r
.
uniform1i
(
O
,
c
);
break
;
case
"
1f
"
:
r
.
uniform1f
(
O
,
c
);
break
;
case
"
2f
"
:
r
.
uniform2f
(
O
,
c
[
0
],
c
[
1
]);
break
;
case
"
3f
"
:
r
.
uniform3f
(
O
,
c
[
0
],
c
[
1
],
c
[
2
]);
break
;
case
"
4f
"
:
r
.
uniform4f
(
O
,
c
[
0
],
c
[
1
],
c
[
2
],
c
[
3
]);
break
;
case
"
1iv
"
:
r
.
uniform1iv
(
O
,
c
);
break
;
case
"
3iv
"
:
r
.
uniform3iv
(
O
,
c
);
break
;
case
"
1fv
"
:
r
.
uniform1fv
(
O
,
c
);
break
;
case
"
2fv
"
:
r
.
uniform2fv
(
O
,
c
);
break
;
c
ase
"
3fv
"
:
r
.
uniform3fv
(
O
,
c
);
break
;
case
"
4fv
"
:
r
.
uniform4fv
(
O
,
c
);
break
;
case
"
Matrix3fv
"
:
r
.
uniformMatrix3fv
(
O
,
!
1
,
c
);
break
;
case
"
Matrix4fv
"
:
r
.
uniformMatrix4fv
(
O
,
!
1
,
c
);
break
;
case
"
i
"
:
r
.
uniform1i
(
O
,
c
);
break
;
case
"
f
"
:
r
.
uniform1f
(
O
,
c
);
break
;
case
"
v2
"
:
r
.
uniform2f
(
O
,
c
.
x
,
c
.
y
);
break
;
case
"
v3
"
:
r
.
uniform3f
(
O
,
c
.
x
,
c
.
y
,
c
.
z
);
break
;
case
"
v4
"
:
r
.
uniform4f
(
O
,
c
.
x
,
c
.
y
,
c
.
z
,
c
.
w
);
break
;
case
"
c
"
:
r
.
uniform3f
(
O
,
c
.
r
,
c
.
g
,
c
.
b
);
break
;
case
"
iv1
"
:
r
.
uniform1iv
(
O
,
c
);
break
;
case
"
iv
"
:
r
.
uniform3iv
(
O
,
c
);
break
;
case
"
fv1
"
:
r
.
uniform1fv
(
O
,
c
);
break
;
case
"
fv
"
:
r
.
uniform3fv
(
O
,
c
);
break
;
case
"
v2v
"
:
void
0
===
a
.
_array
&&
(
a
.
_array
=
new
Float32Array
(
2
*
c
.
length
));
m
=
k
=
0
;
for
(
n
=
c
.
length
;
k
<
n
;
k
++
,
m
+=
2
)
a
.
_array
[
m
+
0
]
=
c
[
k
].
x
,
a
.
_array
[
m
+
1
]
=
c
[
k
].
y
;
r
.
uniform2fv
(
O
,
a
.
_array
);
break
;
case
"
v3v
"
:
void
0
===
a
.
_array
&&
(
a
.
_array
=
new
Float32Array
(
3
*
c
.
length
));
m
=
k
=
0
;
for
(
n
=
c
.
length
;
k
<
n
;
k
++
,
m
+=
3
)
a
.
_array
[
m
+
0
]
=
c
[
k
].
x
,
a
.
_array
[
m
+
1
]
=
c
[
k
].
y
,
a
.
_array
[
m
+
2
]
=
c
[
k
].
z
;
r
.
uniform3fv
(
O
,
a
.
_array
);
break
;
case
"
v4v
"
:
void
0
===
a
.
_array
&&
(
a
.
_array
=
new
Float32Array
(
4
*
c
.
length
));
m
=
k
=
0
;
for
(
n
=
c
.
length
;
k
<
(
k
.
opacity
.
value
=
d
.
opacity
);
if
(
aa
.
shadowMap
.
enabled
&&
e
.
receiveShadow
&&!
d
.
_shadowPass
&&
k
.
shadowMatrix
)
for
(
a
=
d
=
0
,
O
=
b
.
length
;
a
<
O
;
a
++
)
n
=
b
[
a
],
!
0
===
n
.
castShadow
&&
(
n
instanceof
THREE
.
PointLight
||
n
instanceof
THREE
.
SpotLight
||
n
instanceof
THREE
.
DirectionalLight
)
&&
(
c
=
n
.
shadow
,
n
instanceof
THREE
.
PointLight
?(
V
.
setFromMatrixPosition
(
n
.
matrixWorld
).
negate
(),
c
.
matrix
.
identity
().
setPosition
(
V
),
k
.
shadowDarkness
.
value
[
d
]
=-
c
.
darkness
):
k
.
shadowDarkness
.
value
[
d
]
=
c
.
darkness
,
k
.
shadowMatrix
.
value
[
d
]
=
c
.
matrix
,
k
.
shadowMap
.
value
[
d
]
=
c
.
map
,
k
.
shadowMapSize
.
value
[
d
]
=
c
.
mapSize
,
k
.
shadowBias
.
value
[
d
]
=
c
.
bias
,
d
++
);
b
=
f
.
uniformsList
;
f
=
0
;
for
(
d
=
b
.
length
;
f
<
d
;
f
++
)
if
(
a
=
b
[
f
][
0
],
!
1
!==
a
.
needsUpdate
)
switch
(
k
=
a
.
type
,
c
=
a
.
value
,
O
=
b
[
f
][
1
],
k
){
case
"
1i
"
:
r
.
uniform1i
(
O
,
c
);
break
;
case
"
1f
"
:
r
.
uniform1f
(
O
,
c
);
break
;
case
"
2f
"
:
r
.
uniform2f
(
O
,
c
[
0
],
c
[
1
]);
break
;
case
"
3f
"
:
r
.
uniform3f
(
O
,
c
[
0
],
c
[
1
],
c
[
2
]);
break
;
case
"
4f
"
:
r
.
uniform4f
(
O
,
c
[
0
],
c
[
1
],
c
[
2
],
c
[
3
]);
break
;
case
"
1iv
"
:
r
.
uniform1iv
(
O
,
c
);
break
;
case
"
3iv
"
:
r
.
uniform3iv
(
O
,
c
);
break
;
case
"
1fv
"
:
r
.
uniform1fv
(
O
,
c
);
break
;
case
"
2fv
"
:
r
.
uniform2fv
(
O
,
c
);
break
;
case
"
3fv
"
:
r
.
uniform3fv
(
O
,
c
);
break
;
case
"
4fv
"
:
r
.
uniform4fv
(
O
,
c
);
break
;
case
"
Matrix3fv
"
:
r
.
uniformMatrix3fv
(
O
,
!
1
,
c
);
break
;
case
"
Matrix4fv
"
:
r
.
uniformMatrix4fv
(
O
,
!
1
,
c
);
break
;
case
"
i
"
:
r
.
uniform1i
(
O
,
c
);
break
;
case
"
f
"
:
r
.
uniform1f
(
O
,
c
);
break
;
case
"
v2
"
:
r
.
uniform2f
(
O
,
c
.
x
,
c
.
y
);
break
;
case
"
v3
"
:
r
.
uniform3f
(
O
,
c
.
x
,
c
.
y
,
c
.
z
);
break
;
case
"
v4
"
:
r
.
uniform4f
(
O
,
c
.
x
,
c
.
y
,
c
.
z
,
c
.
w
);
break
;
case
"
c
"
:
r
.
uniform3f
(
O
,
c
.
r
,
c
.
g
,
c
.
b
);
break
;
case
"
iv1
"
:
r
.
uniform1iv
(
O
,
c
);
break
;
case
"
iv
"
:
r
.
uniform3iv
(
O
,
c
);
break
;
case
"
fv1
"
:
r
.
uniform1fv
(
O
,
c
);
break
;
case
"
fv
"
:
r
.
uniform3fv
(
O
,
c
);
break
;
case
"
v2v
"
:
void
0
===
a
.
_array
&&
(
a
.
_array
=
new
Float32Array
(
2
*
c
.
length
));
m
=
k
=
0
;
for
(
n
=
c
.
length
;
k
<
n
;
k
++
,
m
+=
2
)
a
.
_array
[
m
+
0
]
=
c
[
k
].
x
,
a
.
_array
[
m
+
1
]
=
c
[
k
].
y
;
r
.
uniform2fv
(
O
,
a
.
_array
);
break
;
case
"
v3v
"
:
void
0
===
a
.
_array
&&
(
a
.
_array
=
new
Float32Array
(
3
*
c
.
length
));
m
=
k
=
0
;
for
(
n
=
c
.
length
;
k
<
n
;
k
++
,
m
+=
3
)
a
.
_array
[
m
+
0
]
=
c
[
k
].
x
,
a
.
_array
[
m
+
1
]
=
c
[
k
].
y
,
a
.
_array
[
m
+
2
]
=
c
[
k
].
z
;
r
.
uniform3fv
(
O
,
a
.
_array
);
break
;
case
"
v4v
"
:
void
0
===
a
.
_array
&&
(
a
.
_array
=
new
Float32Array
(
4
*
c
.
length
));
m
=
k
=
0
;
for
(
n
=
c
.
length
;
k
<
n
;
k
++
,
m
+=
4
)
a
.
_array
[
m
+
0
]
=
c
[
k
].
x
,
a
.
_array
[
m
+
1
]
=
c
[
k
].
y
,
a
.
_array
[
m
+
2
]
=
c
[
k
].
z
,
a
.
_array
[
m
+
3
]
=
c
[
k
].
w
;
r
.
uniform4fv
(
O
,
a
.
_array
);
break
;
case
"
m3
"
:
r
.
uniformMatrix3fv
(
O
,
!
1
,
c
.
elements
);
break
;
case
"
m3v
"
:
void
0
===
a
.
_array
&&
(
a
.
_array
=
new
Float32Array
(
9
*
c
.
length
));
k
=
0
;
for
(
n
=
c
.
length
;
k
<
n
;
k
++
)
c
[
k
].
flattenToArrayOffset
(
a
.
_array
,
9
*
k
);
r
.
uniformMatrix3fv
(
O
,
!
1
,
a
.
_array
);
break
;
case
"
m4
"
:
r
.
uniformMatrix4fv
(
O
,
!
1
,
c
.
elements
);
break
;
case
"
m4v
"
:
void
0
===
a
.
_array
&&
(
a
.
_array
=
new
Float32Array
(
16
*
c
.
length
));
k
=
0
;
for
(
n
=
c
.
length
;
k
<
n
;
k
++
)
c
[
k
].
flattenToArrayOffset
(
a
.
_array
,
16
*
k
);
r
.
uniformMatrix4fv
(
O
,
!
1
,
a
.
_array
);
break
;
case
"
t
"
:
m
=
x
();
r
.
uniform1i
(
O
,
m
);
if
(
!
c
)
continue
;
c
instanceof
THREE
.
CubeTexture
||
Array
.
isArray
(
c
.
image
)
&&
6
===
c
.
image
.
length
?
A
(
c
,
m
):
c
instanceof
THREE
.
WebGLRenderTargetCube
?
y
(
c
.
texture
,
m
):
c
instanceof
THREE
.
WebGLRenderTarget
?
aa
.
setTexture
(
c
.
texture
,
m
):
aa
.
setTexture
(
c
,
m
);
break
;
case
"
tv
"
:
void
0
===
a
.
_array
&&
(
a
.
_array
=
[]);
k
=
0
;
for
(
n
=
a
.
value
.
length
;
k
<
n
;
k
++
)
a
.
_array
[
k
]
=
x
();
r
.
uniform1iv
(
O
,
a
.
_array
);
k
=
0
;
for
(
n
=
a
.
value
.
length
;
k
<
n
;
k
++
)
c
=
a
.
value
[
k
],
m
=
a
.
_array
[
k
],
c
&&
(
c
instanceof
THREE
.
CubeTexture
||
c
.
image
instanceof
Array
&&
6
===
c
.
image
.
length
?
A
(
c
,
m
):
c
instanceof
THREE
.
WebGLRenderTarget
?
aa
.
setTexture
(
c
.
texture
,
m
):
c
instanceof
THREE
.
WebGLRenderTargetCube
?
y
(
c
.
texture
,
m
):
aa
.
setTexture
(
c
,
m
));
break
;
default
:
console
.
warn
(
"
THREE.WebGLRenderer: Unknown uniform type:
"
+
k
)}}
r
.
uniformMatrix4fv
(
p
.
modelViewMatrix
,
!
1
,
e
.
modelViewMatrix
.
elements
);
p
.
normalMatrix
&&
r
.
uniformMatrix3fv
(
p
.
normalMatrix
,
!
1
,
e
.
normalMatrix
.
elements
);
void
0
!==
p
.
modelMatrix
&&
r
.
uniformMatrix4fv
(
p
.
modelMatrix
,
!
1
,
e
.
matrixWorld
.
elements
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录