Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
a3dee4b0
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,发现更多精彩内容 >>
提交
a3dee4b0
编写于
7月 15, 2011
作者:
M
Mr.doob
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Updated builds.
上级
5d99bb7b
变更
2
展开全部
隐藏空白更改
内联
并排
Showing
2 changed file
with
29 addition
and
29 deletion
+29
-29
build/Three.js
build/Three.js
+23
-23
build/custom/ThreeCanvas.js
build/custom/ThreeCanvas.js
+6
-6
未找到文件。
build/Three.js
浏览文件 @
a3dee4b0
此差异已折叠。
点击以展开。
build/custom/ThreeCanvas.js
浏览文件 @
a3dee4b0
...
...
@@ -132,12 +132,12 @@ a.positionScreen.y,L=d.positionScreen.x,D=d.positionScreen.y,G=f.positionScreen.
4
?(
H
.
r
=
E
.
r
=
I
.
r
=
T
.
r
=
Y
.
r
,
H
.
g
=
E
.
g
=
I
.
g
=
T
.
g
=
Y
.
g
,
H
.
b
=
E
.
b
=
I
.
b
=
T
.
b
=
Y
.
b
,
m
(
n
,
k
.
v1
.
positionWorld
,
k
.
vertexNormalsWorld
[
0
],
H
),
m
(
n
,
k
.
v2
.
positionWorld
,
k
.
vertexNormalsWorld
[
1
],
E
),
m
(
n
,
k
.
v4
.
positionWorld
,
k
.
vertexNormalsWorld
[
3
],
I
),
m
(
n
,
k
.
v3
.
positionWorld
,
k
.
vertexNormalsWorld
[
2
],
T
),
X
=
va
(
H
,
E
,
I
,
T
),
x
(
C
,
F
,
L
,
D
,
P
,
w
),
ga
(
C
,
F
,
L
,
D
,
P
,
w
,
X
,
0
,
0
,
1
,
0
,
0
,
1
),
x
(
M
,
K
,
G
,
z
,
S
,
oa
),
ga
(
M
,
K
,
G
,
z
,
S
,
oa
,
X
,
1
,
0
,
1
,
1
,
0
,
1
)):(
ba
.
r
=
Y
.
r
,
ba
.
g
=
Y
.
g
,
ba
.
b
=
Y
.
b
,
m
(
n
,
k
.
centroidWorld
,
k
.
normalWorld
,
ba
),
t
.
r
=
Math
.
max
(
0
,
Math
.
min
(
i
.
color
.
r
*
ba
.
r
,
1
)),
t
.
g
=
Math
.
max
(
0
,
Math
.
min
(
i
.
color
.
g
*
ba
.
g
,
1
)),
t
.
b
=
Math
.
max
(
0
,
Math
.
min
(
i
.
color
.
b
*
ba
.
b
,
1
)),
t
.
updateHex
(),
N
(
C
,
F
,
L
,
D
,
G
,
z
,
P
,
w
),
i
.
wireframe
?
J
(
t
,
i
.
wireframeLinewidth
,
i
.
wireframeLinecap
,
i
.
wireframeLinejoin
):
ha
(
t
)):(
N
(
C
,
F
,
L
,
D
,
G
,
z
,
P
,
w
),
i
.
wireframe
?
J
(
i
.
color
,
i
.
wireframeLinewidth
,
i
.
wireframeLinecap
,
i
.
wireframeLinejoin
):
ha
(
i
.
color
));
else
if
(
i
instanceof
THREE
.
MeshNormalMaterial
)
t
.
r
=
ma
(
k
.
normalWorld
.
x
),
t
.
g
=
ma
(
k
.
normalWorld
.
y
),
t
.
b
=
ma
(
k
.
normalWorld
.
z
),
t
.
updateHex
(),
N
(
C
,
F
,
L
,
D
,
G
,
z
,
P
,
w
),
i
.
wireframe
?
J
(
t
,
i
.
wireframeLinewidth
,
i
.
wireframeLinecap
,
i
.
wireframeLinejoin
):
ha
(
t
);
else
if
(
i
instanceof
THREE
.
MeshDepthMaterial
)
W
=
g
.
near
,
ca
=
g
.
far
,
H
.
r
=
H
.
g
=
H
.
b
=
1
-
la
(
a
.
positionScreen
.
z
,
W
,
ca
),
E
.
r
=
E
.
g
=
E
.
b
=
1
-
la
(
d
.
positionScreen
.
z
,
W
,
ca
),
I
.
r
=
I
.
g
=
I
.
b
=
1
-
la
(
h
.
positionScreen
.
z
,
W
,
ca
),
T
.
r
=
T
.
g
=
T
.
b
=
1
-
la
(
f
.
positionScreen
.
z
,
W
,
ca
),
X
=
va
(
H
,
E
,
I
,
T
),
x
(
C
,
F
,
L
,
D
,
P
,
w
),
ga
(
C
,
F
,
L
,
D
,
P
,
w
,
X
,
0
,
0
,
1
,
0
,
0
,
1
),
x
(
M
,
K
,
G
,
z
,
S
,
oa
),
ga
(
M
,
K
,
G
,
z
,
S
,
oa
,
X
,
1
,
0
,
1
,
1
,
0
,
1
)}
function
x
(
a
,
b
,
c
,
d
,
e
,
f
){
k
.
beginPath
();
k
.
moveTo
(
a
,
b
);
k
.
lineTo
(
c
,
d
);
k
.
lineTo
(
e
,
f
);
k
.
lineTo
(
a
,
b
);
k
.
closePath
()}
function
N
(
a
,
b
,
c
,
d
,
e
,
f
,
g
,
h
){
k
.
beginPath
();
k
.
moveTo
(
a
,
b
);
k
.
lineTo
(
c
,
d
);
k
.
lineTo
(
e
,
f
);
k
.
lineTo
(
g
,
h
);
k
.
lineTo
(
a
,
b
);
k
.
closePath
()}
function
J
(
a
,
b
,
c
,
e
){
if
(
B
!=
b
)
k
.
lineWidth
=
B
=
b
;
if
(
p
!=
c
)
k
.
lineCap
=
p
=
c
;
if
(
O
!=
e
)
k
.
lineJoin
=
O
=
e
;
d
(
a
);
k
.
stroke
();
V
.
inflate
(
b
*
2
)}
function
ha
(
a
){
f
(
a
);
k
.
fill
()}
function
ga
(
a
,
b
,
c
,
d
,
e
,
f
,
g
,
h
,
i
,
j
,
l
,
m
,
n
){
var
o
,
p
;
o
=
g
.
width
-
1
;
p
=
g
.
height
-
1
;
h
*=
o
;
i
*=
p
;
j
*=
o
;
l
*=
p
;
m
*=
o
;
n
*=
p
;
c
-=
a
;
d
-=
b
;
e
-=
a
;
f
-=
b
;
j
-=
h
;
l
-=
i
;
m
-=
h
;
n
-=
i
;
o
=
j
*
n
-
m
*
l
;
o
!=
0
&&
(
p
=
1
/
o
,
o
=
(
n
*
c
-
l
*
e
)
*
p
,
l
=
(
n
*
d
-
l
*
f
)
*
p
,
c
=
(
j
*
e
-
m
*
c
)
*
p
,
d
=
(
j
*
f
-
m
*
d
)
*
p
,
a
=
a
-
o
*
h
-
c
*
i
,
b
=
b
-
l
*
h
-
d
*
i
,
k
.
save
(),
k
.
transform
(
o
,
l
,
c
,
d
,
a
,
b
)
,
k
.
clip
(),
k
.
drawImage
(
g
,
0
,
0
),
k
.
restore
())}
function
va
(
a
,
b
,
c
,
d
){
var
e
=~~
(
a
.
r
*
255
),
f
=~~
(
a
.
g
*
255
),
a
=~~
(
a
.
b
*
255
),
g
=~~
(
b
.
r
*
255
),
h
=~~
(
b
.
g
*
255
),
b
=~~
(
b
.
b
*
255
),
i
=~~
(
c
.
r
*
255
),
j
=~~
(
c
.
g
*
255
),
c
=~~
(
c
.
b
*
255
),
k
=~~
(
d
.
r
*
255
),
l
=~~
(
d
.
g
*
255
),
d
=~~
(
d
.
b
*
255
);
ea
[
0
]
=
e
<
0
?
0
:
e
>
255
?
255
:
e
;
ea
[
1
]
=
f
<
0
?
0
:
f
>
255
?
255
:
f
;
ea
[
2
]
=
a
<
0
?
0
:
a
>
255
?
255
:
a
;
ea
[
4
]
=
g
<
0
?
0
:
g
>
255
?
255
:
g
;
ea
[
5
]
=
h
<
0
?
0
:
h
>
255
?
255
:
h
;
ea
[
6
]
=
b
<
0
?
0
:
b
>
255
?
255
:
b
;
ea
[
8
]
=
i
<
0
?
0
:
i
>
255
?
255
:
i
;
ea
[
9
]
=
j
<
0
?
0
:
j
>
255
?
255
:
j
;
ea
[
10
]
=
c
<
0
?
0
:
c
>
255
?
255
:
c
;
ea
[
12
]
=
k
<
0
?
0
:
k
>
255
?
255
:
k
;
ea
[
13
]
=
l
<
0
?
0
:
l
>
255
?
255
:
l
;
ea
[
14
]
=
d
<
0
?
0
:
d
>
255
?
255
:
d
;
qa
.
putImageData
(
za
,
0
,
0
);
ua
.
drawImage
(
pa
,
0
,
0
);
return
ra
}
function
la
(
a
,
b
,
c
){
a
=
(
a
-
b
)
/
(
c
-
b
);
return
a
*
a
*
(
3
-
2
*
a
)}
function
ma
(
a
){
a
=
(
a
+
1
)
*
0.5
;
return
a
<
0
?
0
:
a
>
1
?
1
:
a
}
function
ia
(
a
,
b
){
var
c
=
b
.
x
-
a
.
x
,
d
=
b
.
y
-
a
.
y
,
e
=
1
/
Math
.
sqrt
(
c
*
c
+
d
*
d
);
c
*=
e
;
d
*=
e
;
b
.
x
+=
c
;
b
.
y
+=
d
;
a
.
x
-=
c
;
a
.
y
-=
d
}
var
wa
,
Ha
,
A
,
fa
,
ja
,
na
,
xa
,
U
;
this
.
autoClear
?
this
.
clear
():
k
.
setTransform
(
1
,
0
,
0
,
-
1
,
n
,
o
);
e
.
data
.
vertices
=
0
;
e
.
data
.
faces
=
0
;
h
=
i
.
projectScene
(
a
,
g
,
this
.
sortElements
);(
ya
=
a
.
lights
.
length
>
0
)
&&
l
(
a
);
wa
=
0
;
for
(
Ha
=
h
.
length
;
wa
<
Ha
;
wa
++
){
A
=
h
[
wa
];
V
.
empty
();
if
(
A
instanceof
THREE
.
RenderableParticle
){
r
=
A
;
r
.
x
*=
n
;
r
.
y
*=
o
;
fa
=
0
;
for
(
ja
=
A
.
materials
.
length
;
fa
<
ja
;)
U
=
A
.
materials
[
fa
++
],
U
.
opacity
!=
0
&&
j
(
r
,
A
,
U
,
a
)}
else
if
(
A
instanceof
THREE
.
RenderableLine
){
if
(
r
=
A
.
v1
,
u
=
A
.
v2
,
r
.
positionScreen
.
x
*=
n
,
r
.
positionScreen
.
y
*=
o
,
u
.
positionScreen
.
x
*=
n
,
u
.
positionScreen
.
y
*=
o
,
V
.
addPoint
(
r
.
positionScreen
.
x
,
r
.
positionScreen
.
y
),
V
.
addPoint
(
u
.
positionScreen
.
x
,
u
.
positionScreen
.
y
),
ka
.
instersects
(
V
)){
fa
=
0
;
for
(
ja
=
A
.
materials
.
length
;
fa
<
ja
;)
U
=
A
.
materials
[
fa
++
],
U
.
opacity
!=
0
&&
q
(
r
,
u
,
A
,
U
,
a
)}}
else
if
(
A
instanceof
THREE
.
RenderableFace3
){
if
(
r
=
A
.
v1
,
u
=
A
.
v2
,
y
=
A
.
v3
,
r
.
positionScreen
.
x
*=
n
,
r
.
positionScreen
.
y
*=
o
,
u
.
positionScreen
.
x
*=
n
,
u
.
positionScreen
.
y
*=
o
,
y
.
positionScreen
.
x
*=
n
,
y
.
positionScreen
.
y
*=
o
,
A
.
overdraw
&&
(
ia
(
r
.
positionScreen
,
u
.
positionScreen
),
ia
(
u
.
positionScreen
,
y
.
positionScreen
),
ia
(
y
.
positionScreen
,
r
.
positionScreen
)),
V
.
add3Points
(
r
.
positionScreen
.
x
,
r
.
positionScreen
.
y
,
u
.
positionScreen
.
x
,
u
.
positionScreen
.
y
,
y
.
positionScreen
.
x
,
y
.
positionScreen
.
y
),
ka
.
instersects
(
V
)){
fa
=
0
;
for
(
ja
=
A
.
meshMaterials
.
length
;
fa
<
ja
;)
if
(
U
=
A
.
meshMaterials
[
fa
++
],
U
instanceof
THREE
.
MeshFaceMaterial
){
na
=
0
;
for
(
xa
=
A
.
faceMaterials
.
length
;
na
<
xa
;)(
U
=
A
.
faceMaterials
[
na
++
])
&&
U
.
opacity
!=
0
&&
s
(
r
,
u
,
y
,
0
,
1
,
2
,
A
,
U
,
a
)}
else
U
.
opacity
!=
0
&&
s
(
r
,
u
,
y
,
0
,
1
,
2
,
A
,
U
,
a
)}}
else
if
(
A
instanceof
THREE
.
RenderableFace4
&&
(
r
=
A
.
v1
,
u
=
A
.
v2
,
y
=
A
.
v3
,
R
=
A
.
v4
,
r
.
positionScreen
.
x
*=
n
,
r
.
positionScreen
.
y
*=
o
,
u
.
positionScreen
.
x
*=
n
,
u
.
positionScreen
.
y
*=
o
,
y
.
positionScreen
.
x
*=
n
,
y
.
positionScreen
.
y
*=
o
,
R
.
positionScreen
.
x
*=
n
,
R
.
positionScreen
.
y
*=
o
,
$
.
positionScreen
.
copy
(
u
.
positionScreen
),
b
);
k
.
lineTo
(
c
,
d
);
k
.
lineTo
(
e
,
f
);
k
.
lineTo
(
g
,
h
);
k
.
lineTo
(
a
,
b
);
k
.
closePath
()}
function
J
(
a
,
b
,
c
,
e
){
if
(
B
!=
b
)
k
.
lineWidth
=
B
=
b
;
if
(
p
!=
c
)
k
.
lineCap
=
p
=
c
;
if
(
O
!=
e
)
k
.
lineJoin
=
O
=
e
;
d
(
a
);
k
.
stroke
();
V
.
inflate
(
b
*
2
)}
function
ha
(
a
){
f
(
a
);
k
.
fill
()}
function
ga
(
a
,
b
,
c
,
d
,
e
,
f
,
g
,
h
,
i
,
j
,
l
,
m
,
n
){
var
o
,
p
;
o
=
g
.
width
-
1
;
p
=
g
.
height
-
1
;
h
*=
o
;
i
*=
p
;
j
*=
o
;
l
*=
p
;
m
*=
o
;
n
*=
p
;
c
-=
a
;
d
-=
b
;
e
-=
a
;
f
-=
b
;
j
-=
h
;
l
-=
i
;
m
-=
h
;
n
-=
i
;
o
=
j
*
n
-
m
*
l
;
if
(
!
((
o
<
0
?
-
o
:
o
)
<
1
))
p
=
1
/
o
,
o
=
(
n
*
c
-
l
*
e
)
*
p
,
l
=
(
n
*
d
-
l
*
f
)
*
p
,
c
=
(
j
*
e
-
m
*
c
)
*
p
,
d
=
(
j
*
f
-
m
*
d
)
*
p
,
a
=
a
-
o
*
h
-
c
*
i
,
b
=
b
-
l
*
h
-
d
*
i
,
k
.
save
(),
k
.
transform
(
o
,
l
,
c
,
d
,
a
,
b
),
k
.
clip
(),
k
.
drawImage
(
g
,
0
,
0
),
k
.
restore
()}
function
va
(
a
,
b
,
c
,
d
){
var
e
=~~
(
a
.
r
*
255
),
f
=~~
(
a
.
g
*
255
),
a
=~~
(
a
.
b
*
255
),
g
=~~
(
b
.
r
*
255
),
h
=~~
(
b
.
g
*
255
),
b
=~~
(
b
.
b
*
255
),
i
=~~
(
c
.
r
*
255
),
j
=~~
(
c
.
g
*
255
),
c
=~~
(
c
.
b
*
255
),
k
=~~
(
d
.
r
*
255
),
l
=~~
(
d
.
g
*
255
),
d
=~~
(
d
.
b
*
255
);
ea
[
0
]
=
e
<
0
?
0
:
e
>
255
?
255
:
e
;
ea
[
1
]
=
f
<
0
?
0
:
f
>
255
?
255
:
f
;
ea
[
2
]
=
a
<
0
?
0
:
a
>
255
?
255
:
a
;
ea
[
4
]
=
g
<
0
?
0
:
g
>
255
?
255
:
g
;
ea
[
5
]
=
h
<
0
?
0
:
h
>
255
?
255
:
h
;
ea
[
6
]
=
b
<
0
?
0
:
b
>
255
?
255
:
b
;
ea
[
8
]
=
i
<
0
?
0
:
i
>
255
?
255
:
i
;
ea
[
9
]
=
j
<
0
?
0
:
j
>
255
?
255
:
j
;
ea
[
10
]
=
c
<
0
?
0
:
c
>
255
?
255
:
c
;
ea
[
12
]
=
k
<
0
?
0
:
k
>
255
?
255
:
k
;
ea
[
13
]
=
l
<
0
?
0
:
l
>
255
?
255
:
l
;
ea
[
14
]
=
d
<
0
?
0
:
d
>
255
?
255
:
d
;
qa
.
putImageData
(
za
,
0
,
0
);
ua
.
drawImage
(
pa
,
0
,
0
);
return
ra
}
function
la
(
a
,
b
,
c
){
a
=
(
a
-
b
)
/
(
c
-
b
);
return
a
*
a
*
(
3
-
2
*
a
)}
function
ma
(
a
){
a
=
(
a
+
1
)
*
0.5
;
return
a
<
0
?
0
:
a
>
1
?
1
:
a
}
function
ia
(
a
,
b
){
var
c
=
b
.
x
-
a
.
x
,
d
=
b
.
y
-
a
.
y
,
e
=
c
*
c
+
d
*
d
;
e
!=
0
&&
(
e
=
1
/
Math
.
sqrt
(
e
),
c
*=
e
,
d
*=
e
,
b
.
x
+=
c
,
b
.
y
+=
d
,
a
.
x
-=
c
,
a
.
y
-=
d
)}
var
wa
,
Ha
,
A
,
fa
,
ja
,
na
,
xa
,
U
;
this
.
autoClear
?
this
.
clear
():
k
.
setTransform
(
1
,
0
,
0
,
-
1
,
n
,
o
);
e
.
data
.
vertices
=
0
;
e
.
data
.
faces
=
0
;
h
=
i
.
projectScene
(
a
,
g
,
this
.
sortElements
);(
ya
=
a
.
lights
.
length
>
0
)
&&
l
(
a
);
wa
=
0
;
for
(
Ha
=
h
.
length
;
wa
<
Ha
;
wa
++
){
A
=
h
[
wa
];
V
.
empty
();
if
(
A
instanceof
THREE
.
RenderableParticle
){
r
=
A
;
r
.
x
*=
n
;
r
.
y
*=
o
;
fa
=
0
;
for
(
ja
=
A
.
materials
.
length
;
fa
<
ja
;)
U
=
A
.
materials
[
fa
++
],
U
.
opacity
!=
0
&&
j
(
r
,
A
,
U
,
a
)}
else
if
(
A
instanceof
THREE
.
RenderableLine
){
if
(
r
=
A
.
v1
,
u
=
A
.
v2
,
r
.
positionScreen
.
x
*=
n
,
r
.
positionScreen
.
y
*=
o
,
u
.
positionScreen
.
x
*=
n
,
u
.
positionScreen
.
y
*=
o
,
V
.
addPoint
(
r
.
positionScreen
.
x
,
r
.
positionScreen
.
y
),
V
.
addPoint
(
u
.
positionScreen
.
x
,
u
.
positionScreen
.
y
),
ka
.
instersects
(
V
)){
fa
=
0
;
for
(
ja
=
A
.
materials
.
length
;
fa
<
ja
;)
U
=
A
.
materials
[
fa
++
]
,
U
.
opacity
!=
0
&&
q
(
r
,
u
,
A
,
U
,
a
)}}
else
if
(
A
instanceof
THREE
.
RenderableFace3
){
if
(
r
=
A
.
v1
,
u
=
A
.
v2
,
y
=
A
.
v3
,
r
.
positionScreen
.
x
*=
n
,
r
.
positionScreen
.
y
*=
o
,
u
.
positionScreen
.
x
*=
n
,
u
.
positionScreen
.
y
*=
o
,
y
.
positionScreen
.
x
*=
n
,
y
.
positionScreen
.
y
*=
o
,
A
.
overdraw
&&
(
ia
(
r
.
positionScreen
,
u
.
positionScreen
),
ia
(
u
.
positionScreen
,
y
.
positionScreen
),
ia
(
y
.
positionScreen
,
r
.
positionScreen
)),
V
.
add3Points
(
r
.
positionScreen
.
x
,
r
.
positionScreen
.
y
,
u
.
positionScreen
.
x
,
u
.
positionScreen
.
y
,
y
.
positionScreen
.
x
,
y
.
positionScreen
.
y
),
ka
.
instersects
(
V
)){
fa
=
0
;
for
(
ja
=
A
.
meshMaterials
.
length
;
fa
<
ja
;)
if
(
U
=
A
.
meshMaterials
[
fa
++
],
U
instanceof
THREE
.
MeshFaceMaterial
){
na
=
0
;
for
(
xa
=
A
.
faceMaterials
.
length
;
na
<
xa
;)(
U
=
A
.
faceMaterials
[
na
++
])
&&
U
.
opacity
!=
0
&&
s
(
r
,
u
,
y
,
0
,
1
,
2
,
A
,
U
,
a
)}
else
U
.
opacity
!=
0
&&
s
(
r
,
u
,
y
,
0
,
1
,
2
,
A
,
U
,
a
)}}
else
if
(
A
instanceof
THREE
.
RenderableFace4
&&
(
r
=
A
.
v1
,
u
=
A
.
v2
,
y
=
A
.
v3
,
R
=
A
.
v4
,
r
.
positionScreen
.
x
*=
n
,
r
.
positionScreen
.
y
*=
o
,
u
.
positionScreen
.
x
*=
n
,
u
.
positionScreen
.
y
*=
o
,
y
.
positionScreen
.
x
*=
n
,
y
.
positionScreen
.
y
*=
o
,
R
.
positionScreen
.
x
*=
n
,
R
.
positionScreen
.
y
*=
o
,
$
.
positionScreen
.
copy
(
u
.
positionScreen
),
Z
.
positionScreen
.
copy
(
R
.
positionScreen
),
A
.
overdraw
&&
(
ia
(
r
.
positionScreen
,
u
.
positionScreen
),
ia
(
u
.
positionScreen
,
R
.
positionScreen
),
ia
(
R
.
positionScreen
,
r
.
positionScreen
),
ia
(
y
.
positionScreen
,
$
.
positionScreen
),
ia
(
y
.
positionScreen
,
Z
.
positionScreen
)),
V
.
addPoint
(
r
.
positionScreen
.
x
,
r
.
positionScreen
.
y
),
V
.
addPoint
(
u
.
positionScreen
.
x
,
u
.
positionScreen
.
y
),
V
.
addPoint
(
y
.
positionScreen
.
x
,
y
.
positionScreen
.
y
),
V
.
addPoint
(
R
.
positionScreen
.
x
,
R
.
positionScreen
.
y
),
ka
.
instersects
(
V
))){
fa
=
0
;
for
(
ja
=
A
.
meshMaterials
.
length
;
fa
<
ja
;)
if
(
U
=
A
.
meshMaterials
[
fa
++
],
U
instanceof
THREE
.
MeshFaceMaterial
){
na
=
0
;
for
(
xa
=
A
.
faceMaterials
.
length
;
na
<
xa
;)(
U
=
A
.
faceMaterials
[
na
++
])
&&
U
.
opacity
!=
0
&&
v
(
r
,
u
,
y
,
R
,
$
,
Z
,
A
,
U
,
a
)}
else
U
.
opacity
!=
0
&&
v
(
r
,
u
,
y
,
R
,
$
,
Z
,
A
,
U
,
a
)}
da
.
addRectangle
(
V
)}
k
.
setTransform
(
1
,
0
,
0
,
1
,
0
,
0
)}};
THREE
.
RenderableVertex
=
function
(){
this
.
positionWorld
=
new
THREE
.
Vector3
;
this
.
positionScreen
=
new
THREE
.
Vector4
;
this
.
visible
=!
0
};
THREE
.
RenderableVertex
.
prototype
.
copy
=
function
(
a
){
this
.
positionWorld
.
copy
(
a
.
positionWorld
);
this
.
positionScreen
.
copy
(
a
.
positionScreen
)};
THREE
.
RenderableFace3
=
function
(){
this
.
v1
=
new
THREE
.
RenderableVertex
;
this
.
v2
=
new
THREE
.
RenderableVertex
;
this
.
v3
=
new
THREE
.
RenderableVertex
;
this
.
centroidWorld
=
new
THREE
.
Vector3
;
this
.
centroidScreen
=
new
THREE
.
Vector3
;
this
.
normalWorld
=
new
THREE
.
Vector3
;
this
.
vertexNormalsWorld
=
[
new
THREE
.
Vector3
,
new
THREE
.
Vector3
,
new
THREE
.
Vector3
];
this
.
faceMaterials
=
this
.
meshMaterials
=
null
;
this
.
overdraw
=!
1
;
this
.
uvs
=
[[]];
this
.
z
=
null
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录