Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
f10da706
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,体验更适合开发者的 AI 搜索 >>
提交
f10da706
编写于
11月 20, 2018
作者:
M
Mr.doob
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
UniformsUtils: Refactoring.
上级
0c51e577
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
53 addition
and
54 deletion
+53
-54
src/materials/ShaderMaterial.js
src/materials/ShaderMaterial.js
+2
-2
src/renderers/WebGLRenderer.js
src/renderers/WebGLRenderer.js
+2
-2
src/renderers/shaders/ShaderLib.js
src/renderers/shaders/ShaderLib.js
+14
-14
src/renderers/shaders/UniformsUtils.js
src/renderers/shaders/UniformsUtils.js
+32
-33
src/renderers/webgl/WebGLBackground.js
src/renderers/webgl/WebGLBackground.js
+3
-3
未找到文件。
src/materials/ShaderMaterial.js
浏览文件 @
f10da706
import
{
Material
}
from
'
./Material.js
'
;
import
{
UniformsUtil
s
}
from
'
../renderers/shaders/UniformsUtils.js
'
;
import
{
cloneUniform
s
}
from
'
../renderers/shaders/UniformsUtils.js
'
;
/**
* @author alteredq / http://alteredqualia.com/
...
...
@@ -91,7 +91,7 @@ ShaderMaterial.prototype.copy = function ( source ) {
this
.
fragmentShader
=
source
.
fragmentShader
;
this
.
vertexShader
=
source
.
vertexShader
;
this
.
uniforms
=
UniformsUtils
.
clone
(
source
.
uniforms
);
this
.
uniforms
=
cloneUniforms
(
source
.
uniforms
);
this
.
defines
=
Object
.
assign
(
{},
source
.
defines
);
...
...
src/renderers/WebGLRenderer.js
浏览文件 @
f10da706
...
...
@@ -16,7 +16,7 @@ import { Frustum } from '../math/Frustum.js';
import
{
Matrix4
}
from
'
../math/Matrix4.js
'
;
import
{
ShaderLib
}
from
'
./shaders/ShaderLib.js
'
;
import
{
UniformsLib
}
from
'
./shaders/UniformsLib.js
'
;
import
{
UniformsUtil
s
}
from
'
./shaders/UniformsUtils.js
'
;
import
{
cloneUniform
s
}
from
'
./shaders/UniformsUtils.js
'
;
import
{
Vector3
}
from
'
../math/Vector3.js
'
;
import
{
Vector4
}
from
'
../math/Vector4.js
'
;
import
{
WebGLAnimation
}
from
'
./webgl/WebGLAnimation.js
'
;
...
...
@@ -1427,7 +1427,7 @@ function WebGLRenderer( parameters ) {
materialProperties
.
shader
=
{
name
:
material
.
type
,
uniforms
:
UniformsUtils
.
clone
(
shader
.
uniforms
),
uniforms
:
cloneUniforms
(
shader
.
uniforms
),
vertexShader
:
shader
.
vertexShader
,
fragmentShader
:
shader
.
fragmentShader
};
...
...
src/renderers/shaders/ShaderLib.js
浏览文件 @
f10da706
import
{
ShaderChunk
}
from
'
./ShaderChunk.js
'
;
import
{
UniformsUtil
s
}
from
'
./UniformsUtils.js
'
;
import
{
mergeUniform
s
}
from
'
./UniformsUtils.js
'
;
import
{
Vector3
}
from
'
../../math/Vector3.js
'
;
import
{
UniformsLib
}
from
'
./UniformsLib.js
'
;
import
{
Color
}
from
'
../../math/Color.js
'
;
...
...
@@ -15,7 +15,7 @@ var ShaderLib = {
basic
:
{
uniforms
:
UniformsUtils
.
merge
(
[
uniforms
:
mergeUniforms
(
[
UniformsLib
.
common
,
UniformsLib
.
specularmap
,
UniformsLib
.
envmap
,
...
...
@@ -31,7 +31,7 @@ var ShaderLib = {
lambert
:
{
uniforms
:
UniformsUtils
.
merge
(
[
uniforms
:
mergeUniforms
(
[
UniformsLib
.
common
,
UniformsLib
.
specularmap
,
UniformsLib
.
envmap
,
...
...
@@ -52,7 +52,7 @@ var ShaderLib = {
phong
:
{
uniforms
:
UniformsUtils
.
merge
(
[
uniforms
:
mergeUniforms
(
[
UniformsLib
.
common
,
UniformsLib
.
specularmap
,
UniformsLib
.
envmap
,
...
...
@@ -79,7 +79,7 @@ var ShaderLib = {
standard
:
{
uniforms
:
UniformsUtils
.
merge
(
[
uniforms
:
mergeUniforms
(
[
UniformsLib
.
common
,
UniformsLib
.
envmap
,
UniformsLib
.
aomap
,
...
...
@@ -107,7 +107,7 @@ var ShaderLib = {
matcap
:
{
uniforms
:
UniformsUtils
.
merge
(
[
uniforms
:
mergeUniforms
(
[
UniformsLib
.
common
,
UniformsLib
.
bumpmap
,
UniformsLib
.
normalmap
,
...
...
@@ -125,7 +125,7 @@ var ShaderLib = {
points
:
{
uniforms
:
UniformsUtils
.
merge
(
[
uniforms
:
mergeUniforms
(
[
UniformsLib
.
points
,
UniformsLib
.
fog
]
),
...
...
@@ -137,7 +137,7 @@ var ShaderLib = {
dashed
:
{
uniforms
:
UniformsUtils
.
merge
(
[
uniforms
:
mergeUniforms
(
[
UniformsLib
.
common
,
UniformsLib
.
fog
,
{
...
...
@@ -154,7 +154,7 @@ var ShaderLib = {
depth
:
{
uniforms
:
UniformsUtils
.
merge
(
[
uniforms
:
mergeUniforms
(
[
UniformsLib
.
common
,
UniformsLib
.
displacementmap
]
),
...
...
@@ -166,7 +166,7 @@ var ShaderLib = {
normal
:
{
uniforms
:
UniformsUtils
.
merge
(
[
uniforms
:
mergeUniforms
(
[
UniformsLib
.
common
,
UniformsLib
.
bumpmap
,
UniformsLib
.
normalmap
,
...
...
@@ -183,7 +183,7 @@ var ShaderLib = {
sprite
:
{
uniforms
:
UniformsUtils
.
merge
(
[
uniforms
:
mergeUniforms
(
[
UniformsLib
.
sprite
,
UniformsLib
.
fog
]
),
...
...
@@ -234,7 +234,7 @@ var ShaderLib = {
distanceRGBA
:
{
uniforms
:
UniformsUtils
.
merge
(
[
uniforms
:
mergeUniforms
(
[
UniformsLib
.
common
,
UniformsLib
.
displacementmap
,
{
...
...
@@ -251,7 +251,7 @@ var ShaderLib = {
shadow
:
{
uniforms
:
UniformsUtils
.
merge
(
[
uniforms
:
mergeUniforms
(
[
UniformsLib
.
lights
,
UniformsLib
.
fog
,
{
...
...
@@ -269,7 +269,7 @@ var ShaderLib = {
ShaderLib
.
physical
=
{
uniforms
:
UniformsUtils
.
merge
(
[
uniforms
:
mergeUniforms
(
[
ShaderLib
.
standard
.
uniforms
,
{
clearCoat
:
{
value
:
0
},
...
...
src/renderers/shaders/UniformsUtils.js
浏览文件 @
f10da706
...
...
@@ -2,66 +2,65 @@
* Uniform Utilities
*/
var
UniformsUtils
=
{
export
function
cloneUniforms
(
src
)
{
merge
:
function
(
uniforms
)
{
var
dst
=
{};
var
merged
=
{};
for
(
var
u
in
src
)
{
for
(
var
u
=
0
;
u
<
uniforms
.
length
;
u
++
)
{
dst
[
u
]
=
{};
var
tmp
=
this
.
clone
(
uniforms
[
u
]
);
for
(
var
p
in
src
[
u
]
)
{
for
(
var
p
in
tmp
)
{
var
property
=
src
[
u
][
p
];
merged
[
p
]
=
tmp
[
p
];
if
(
property
&&
(
property
.
isColor
||
property
.
isMatrix3
||
property
.
isMatrix4
||
property
.
isVector2
||
property
.
isVector3
||
property
.
isVector4
||
property
.
isTexture
)
)
{
}
}
dst
[
u
][
p
]
=
property
.
clone
();
return
merged
;
}
else
if
(
Array
.
isArray
(
property
)
)
{
},
dst
[
u
][
p
]
=
property
.
slice
();
clone
:
function
(
uniforms_src
)
{
}
else
{
var
uniforms_dst
=
{}
;
dst
[
u
][
p
]
=
property
;
for
(
var
u
in
uniforms_src
)
{
uniforms_dst
[
u
]
=
{};
}
for
(
var
p
in
uniforms_src
[
u
]
)
{
}
var
parameter_src
=
uniforms_src
[
u
][
p
];
}
if
(
parameter_src
&&
(
parameter_src
.
isColor
||
parameter_src
.
isMatrix3
||
parameter_src
.
isMatrix4
||
parameter_src
.
isVector2
||
parameter_src
.
isVector3
||
parameter_src
.
isVector4
||
parameter_src
.
isTexture
)
)
{
return
dst
;
uniforms_dst
[
u
][
p
]
=
parameter_src
.
clone
();
}
}
else
if
(
Array
.
isArray
(
parameter_src
)
)
{
export
function
mergeUniforms
(
uniforms
)
{
uniforms_dst
[
u
][
p
]
=
parameter_src
.
slice
()
;
var
merged
=
{}
;
}
else
{
for
(
var
u
=
0
;
u
<
uniforms
.
length
;
u
++
)
{
uniforms_dst
[
u
][
p
]
=
parameter_src
;
var
tmp
=
cloneUniforms
(
uniforms
[
u
]
)
;
}
for
(
var
p
in
tmp
)
{
}
merged
[
p
]
=
tmp
[
p
];
}
return
uniforms_dst
;
}
};
return
merged
;
}
// Legacy
var
UniformsUtils
=
{
clone
:
cloneUniforms
,
merge
:
mergeUniforms
};
export
{
UniformsUtils
};
src/renderers/webgl/WebGLBackground.js
浏览文件 @
f10da706
...
...
@@ -9,7 +9,7 @@ import { ShaderMaterial } from '../../materials/ShaderMaterial.js';
import
{
Color
}
from
'
../../math/Color.js
'
;
import
{
Mesh
}
from
'
../../objects/Mesh.js
'
;
import
{
ShaderLib
}
from
'
../shaders/ShaderLib.js
'
;
import
{
UniformsUtil
s
}
from
'
../shaders/UniformsUtils.js
'
;
import
{
cloneUniform
s
}
from
'
../shaders/UniformsUtils.js
'
;
function
WebGLBackground
(
renderer
,
state
,
objects
,
premultipliedAlpha
)
{
...
...
@@ -48,7 +48,7 @@ function WebGLBackground( renderer, state, objects, premultipliedAlpha ) {
new
BoxBufferGeometry
(
1
,
1
,
1
),
new
ShaderMaterial
(
{
type
:
'
BackgroundCubeMaterial
'
,
uniforms
:
UniformsUtils
.
clone
(
ShaderLib
.
cube
.
uniforms
),
uniforms
:
cloneUniforms
(
ShaderLib
.
cube
.
uniforms
),
vertexShader
:
ShaderLib
.
cube
.
vertexShader
,
fragmentShader
:
ShaderLib
.
cube
.
fragmentShader
,
side
:
BackSide
,
...
...
@@ -96,7 +96,7 @@ function WebGLBackground( renderer, state, objects, premultipliedAlpha ) {
new
PlaneBufferGeometry
(
2
,
2
),
new
ShaderMaterial
(
{
type
:
'
BackgroundMaterial
'
,
uniforms
:
UniformsUtils
.
clone
(
ShaderLib
.
background
.
uniforms
),
uniforms
:
cloneUniforms
(
ShaderLib
.
background
.
uniforms
),
vertexShader
:
ShaderLib
.
background
.
vertexShader
,
fragmentShader
:
ShaderLib
.
background
.
fragmentShader
,
side
:
FrontSide
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录