Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
车家大少爷
three.js
提交
2a73260a
T
three.js
项目概览
车家大少爷
/
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,发现更多精彩内容 >>
提交
2a73260a
编写于
2月 28, 2019
作者:
M
Mugen87
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
VRMLLoader: Improve parsing of vertex colors
上级
2e0d1a03
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
29 addition
and
11 deletion
+29
-11
examples/js/loaders/VRMLLoader.js
examples/js/loaders/VRMLLoader.js
+29
-11
未找到文件。
examples/js/loaders/VRMLLoader.js
浏览文件 @
2a73260a
...
...
@@ -932,7 +932,7 @@ THREE.VRMLLoader.prototype = {
if
(
data
.
coordIndex
)
{
function
triangulateIndexArray
(
indexArray
,
ccw
)
{
function
triangulateIndexArray
(
indexArray
,
ccw
,
colorPerVertex
)
{
if
(
ccw
===
undefined
)
{
...
...
@@ -946,21 +946,37 @@ THREE.VRMLLoader.prototype = {
for
(
i
=
0
,
il
=
indexArray
.
length
;
i
<
il
;
i
++
)
{
var
indexedFace
=
indexArray
[
i
];
if
(
colorPerVertex
===
false
)
{
// VRML support multipoint indexed face sets (more then 3 vertices). You must calculate the composing triangles here
var
colorIndices
=
indexArray
[
i
];
skip
=
0
;
for
(
j
=
0
,
jl
=
colorIndices
.
length
;
j
<
jl
;
j
++
)
{
while
(
indexedFace
.
length
>=
3
&&
skip
<
(
indexedFace
.
length
-
2
)
)
{
var
index
=
colorIndices
[
j
];
var
i1
=
indexedFace
[
0
];
var
i2
=
indexedFace
[
skip
+
(
ccw
?
1
:
2
)
];
var
i3
=
indexedFace
[
skip
+
(
ccw
?
2
:
1
)
];
triangulatedIndexArray
.
push
(
index
,
index
,
index
);
triangulatedIndexArray
.
push
(
i1
,
i2
,
i3
);
}
skip
++
;
}
else
{
var
indexedFace
=
indexArray
[
i
];
// VRML support multipoint indexed face sets (more then 3 vertices). You must calculate the composing triangles here
skip
=
0
;
while
(
indexedFace
.
length
>=
3
&&
skip
<
(
indexedFace
.
length
-
2
)
)
{
var
i1
=
indexedFace
[
0
];
var
i2
=
indexedFace
[
skip
+
(
ccw
?
1
:
2
)
];
var
i3
=
indexedFace
[
skip
+
(
ccw
?
2
:
1
)
];
triangulatedIndexArray
.
push
(
i1
,
i2
,
i3
);
skip
++
;
}
}
...
...
@@ -972,7 +988,7 @@ THREE.VRMLLoader.prototype = {
var
positionIndexes
=
data
.
coordIndex
?
triangulateIndexArray
(
data
.
coordIndex
,
data
.
ccw
)
:
[];
var
normalIndexes
=
data
.
normalIndex
?
triangulateIndexArray
(
data
.
normalIndex
,
data
.
ccw
)
:
positionIndexes
;
var
colorIndexes
=
data
.
colorIndex
?
triangulateIndexArray
(
data
.
colorIndex
,
data
.
ccw
)
:
positionIndexes
;
var
colorIndexes
=
data
.
colorIndex
?
triangulateIndexArray
(
data
.
colorIndex
,
data
.
ccw
,
data
.
colorPerVertex
)
:
positionIndexes
;
var
uvIndexes
=
data
.
texCoordIndex
?
triangulateIndexArray
(
data
.
texCoordIndex
,
data
.
ccw
)
:
positionIndexes
;
var
newIndexes
=
[];
...
...
@@ -1095,6 +1111,8 @@ THREE.VRMLLoader.prototype = {
geometry
.
addAttribute
(
'
color
'
,
new
THREE
.
Float32BufferAttribute
(
colors
,
3
)
);
parent
.
material
.
vertexColors
=
THREE
.
VertexColors
;
}
if
(
uvs
.
length
>
0
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录