Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
车家大少爷
three.js
提交
64e0f256
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,发现更多精彩内容 >>
提交
64e0f256
编写于
5月 16, 2017
作者:
M
Mr.doob
提交者:
GitHub
5月 16, 2017
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #11344 from takahirox/GLTF2TECHEX
Support KHR_technique_webgl extension in GLTF2Loader
上级
564ac302
0d40bfda
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
40 addition
and
3 deletion
+40
-3
examples/js/loaders/GLTF2Loader.js
examples/js/loaders/GLTF2Loader.js
+40
-3
未找到文件。
examples/js/loaders/GLTF2Loader.js
浏览文件 @
64e0f256
...
...
@@ -82,6 +82,12 @@ THREE.GLTF2Loader = ( function () {
}
if
(
json
.
extensionsUsed
.
indexOf
(
EXTENSIONS
.
KHR_TECHNIQUE_WEBGL
)
>=
0
)
{
extensions
[
EXTENSIONS
.
KHR_TECHNIQUE_WEBGL
]
=
new
GLTFTechniqueWebglExtension
(
json
);
}
}
console
.
time
(
'
GLTF2Loader
'
);
...
...
@@ -273,6 +279,7 @@ THREE.GLTF2Loader = ( function () {
var
EXTENSIONS
=
{
KHR_BINARY_GLTF
:
'
KHR_binary_glTF
'
,
KHR_TECHNIQUE_WEBGL
:
'
KHR_technique_webgl
'
,
KHR_MATERIALS_COMMON
:
'
KHR_materials_common
'
,
KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS
:
'
KHR_materials_pbrSpecularGlossiness
'
};
...
...
@@ -396,6 +403,20 @@ THREE.GLTF2Loader = ( function () {
}
/* Technique WebGL Extension */
function
GLTFTechniqueWebglExtension
(
json
)
{
this
.
name
=
EXTENSIONS
.
KHR_TECHNIQUE_WEBGL
;
var
extension
=
(
json
.
extensions
&&
json
.
extensions
[
EXTENSIONS
.
KHR_TECHNIQUE_WEBGL
]
)
||
{};
this
.
techniques
=
extension
.
techniques
||
{};
this
.
programs
=
extension
.
programs
||
{};
this
.
shaders
=
extension
.
shaders
||
{};
}
/* Specular-Glossiness Extension */
function
GLTFMaterialsPbrSpecularGlossinessExtension
()
{
...
...
@@ -1221,6 +1242,7 @@ THREE.GLTF2Loader = ( function () {
var
json
=
this
.
json
;
var
options
=
this
.
options
;
var
extensions
=
this
.
extensions
;
return
this
.
_withDependencies
(
[
...
...
@@ -1228,7 +1250,11 @@ THREE.GLTF2Loader = ( function () {
]
).
then
(
function
(
dependencies
)
{
return
_each
(
json
.
shaders
,
function
(
shader
)
{
var
shaders
=
extensions
[
EXTENSIONS
.
KHR_TECHNIQUE_WEBGL
]
!==
undefined
?
extensions
[
EXTENSIONS
.
KHR_TECHNIQUE_WEBGL
].
shaders
:
json
.
shaders
;
if
(
shaders
===
undefined
)
shaders
=
{};
return
_each
(
shaders
,
function
(
shader
)
{
if
(
shader
.
bufferView
!==
undefined
)
{
...
...
@@ -1642,11 +1668,22 @@ THREE.GLTF2Loader = ( function () {
materialType
=
DeferredShaderMaterial
;
var
technique
=
json
.
techniques
[
material
.
technique
];
// I've left the existing json.techniques code as is so far though
// techniques is moved to extension in glTF 2.0 because
// it seems there still be many models which have techniques under json.
// I'm gonna move the techniques code into GLTFTechniqueWebglExtension
// when glTF 2.0 release is officially announced.
var
extension
=
extensions
[
EXTENSIONS
.
KHR_TECHNIQUE_WEBGL
];
var
techniques
=
extension
!==
undefined
?
extension
.
techniques
:
json
.
techniques
;
var
programs
=
extension
!==
undefined
?
extension
.
programs
:
json
.
programs
;
var
technique
=
techniques
[
material
.
technique
];
materialParams
.
uniforms
=
{};
var
program
=
json
.
programs
[
technique
.
program
];
var
program
=
programs
[
technique
.
program
];
if
(
program
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录