Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
车家大少爷
three.js
提交
fc720616
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,发现更多精彩内容 >>
提交
fc720616
编写于
6月 29, 2016
作者:
M
Mr.doob
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
GLTFLoader: Added basic material/textures support.
上级
2be6078b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
90 addition
and
19 deletion
+90
-19
examples/js/loaders/GLTFLoader.js
examples/js/loaders/GLTFLoader.js
+90
-19
未找到文件。
examples/js/loaders/GLTFLoader.js
浏览文件 @
fc720616
...
...
@@ -55,6 +55,8 @@ THREE.GLTFLoader.prototype = {
buffers
:
{},
bufferViews
:
{},
accessors
:
{},
textures
:
{},
materials
:
{},
meshes
:
{},
nodes
:
{},
scenes
:
{}
...
...
@@ -127,6 +129,86 @@ THREE.GLTFLoader.prototype = {
}
// textures
var
FILTERS
=
{
9728
:
THREE
.
NearestFilter
,
9729
:
THREE
.
LinearFilter
,
9984
:
THREE
.
NearestMipMapNearestFilter
,
9985
:
THREE
.
LinearMipMapNearestFilter
,
9986
:
THREE
.
NearestMipMapLinearFilter
,
9987
:
THREE
.
LinearMipMapLinearFilter
};
var
WRAPPINGS
=
{
33071
:
THREE
.
ClampToEdgeWrapping
,
33648
:
THREE
.
MirroredRepeatWrapping
,
10497
:
THREE
.
RepeatWrapping
};
var
textures
=
json
.
textures
;
for
(
var
textureId
in
textures
)
{
var
texture
=
textures
[
textureId
];
var
_texture
=
new
THREE
.
Texture
();
_texture
.
flipY
=
false
;
if
(
texture
.
source
)
{
var
source
=
json
.
images
[
texture
.
source
];
_texture
.
image
=
new
Image
();
_texture
.
image
.
src
=
source
.
uri
;
_texture
.
needsUpdate
=
true
;
}
if
(
texture
.
sampler
)
{
var
sampler
=
json
.
samplers
[
texture
.
sampler
];
_texture
.
magFilter
=
FILTERS
[
sampler
.
magFilter
];
_texture
.
minFilter
=
FILTERS
[
sampler
.
minFilter
];
_texture
.
wrapS
=
WRAPPINGS
[
sampler
.
wrapS
];
_texture
.
wrapT
=
WRAPPINGS
[
sampler
.
wrapT
];
}
library
.
textures
[
textureId
]
=
_texture
;
}
// materials
var
materials
=
json
.
materials
;
for
(
var
materialId
in
materials
)
{
var
material
=
materials
[
materialId
];
var
_material
=
new
THREE
.
MeshPhongMaterial
();
_material
.
name
=
material
.
name
;
var
values
=
material
.
values
;
if
(
Array
.
isArray
(
values
.
diffuse
)
)
_material
.
color
.
fromArray
(
values
.
diffuse
);
if
(
Array
.
isArray
(
values
.
emission
)
)
_material
.
emissive
.
fromArray
(
values
.
emission
);
if
(
Array
.
isArray
(
values
.
specular
)
)
_material
.
specular
.
fromArray
(
values
.
specular
);
if
(
values
.
shininess
!==
undefined
)
_material
.
shininess
=
values
.
shininess
;
if
(
typeof
(
material
.
values
.
diffuse
)
===
'
string
'
)
{
_material
.
map
=
library
.
textures
[
material
.
values
.
diffuse
];
}
library
.
materials
[
materialId
]
=
_material
;
}
// meshes
var
meshes
=
json
.
meshes
;
...
...
@@ -135,10 +217,8 @@ THREE.GLTFLoader.prototype = {
var
mesh
=
meshes
[
meshId
];
var
geometries
=
{
name
:
mesh
.
name
,
array
:
[]
};
var
group
=
new
THREE
.
Group
();
group
.
name
=
mesh
.
name
;
var
primitives
=
mesh
.
primitives
;
...
...
@@ -178,11 +258,13 @@ THREE.GLTFLoader.prototype = {
}
geometries
.
array
.
push
(
geometry
);
var
material
=
library
.
materials
[
primitive
.
material
];
group
.
add
(
new
THREE
.
Mesh
(
geometry
,
material
)
);
}
library
.
meshes
[
meshId
]
=
g
eometries
;
library
.
meshes
[
meshId
]
=
g
roup
;
}
...
...
@@ -228,20 +310,9 @@ THREE.GLTFLoader.prototype = {
for
(
var
i
=
0
;
i
<
node
.
meshes
.
length
;
i
++
)
{
var
meshId
=
node
.
meshes
[
i
];
var
group
=
library
.
meshes
[
meshId
];
var
geometries
=
library
.
meshes
[
meshId
];
var
group
=
new
THREE
.
Group
();
group
.
name
=
geometries
.
name
;
object
.
add
(
group
);
var
array
=
geometries
.
array
;
for
(
var
j
=
0
;
j
<
array
.
length
;
j
++
)
{
group
.
add
(
new
THREE
.
Mesh
(
array
[
j
],
new
THREE
.
MeshNormalMaterial
()
)
);
}
object
.
add
(
group
.
clone
()
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录