Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
d3494aa2
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,发现更多精彩内容 >>
未验证
提交
d3494aa2
编写于
4月 23, 2018
作者:
M
Mr.doob
提交者:
GitHub
4月 23, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #13916 from WestLangley/dev-normal_bump
Handle normal/bump maps when material is back/double-sided
上级
b5da2405
d29d7f19
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
15 addition
and
4 deletion
+15
-4
src/renderers/WebGLRenderer.js
src/renderers/WebGLRenderer.js
+8
-1
src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl
src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl
+2
-0
src/renderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl
...enderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl
+5
-3
未找到文件。
src/renderers/WebGLRenderer.js
浏览文件 @
d3494aa2
...
...
@@ -8,7 +8,8 @@ import {
TriangleStripDrawMode
,
TrianglesDrawMode
,
NoColors
,
LinearToneMapping
LinearToneMapping
,
BackSide
}
from
'
../constants.js
'
;
import
{
_Math
}
from
'
../math/Math.js
'
;
import
{
DataTexture
}
from
'
../textures/DataTexture.js
'
;
...
...
@@ -2140,6 +2141,7 @@ function WebGLRenderer( parameters ) {
uniforms
.
bumpMap
.
value
=
material
.
bumpMap
;
uniforms
.
bumpScale
.
value
=
material
.
bumpScale
;
if
(
material
.
side
===
BackSide
)
uniforms
.
bumpScale
.
value
*=
-
1
;
}
...
...
@@ -2147,6 +2149,7 @@ function WebGLRenderer( parameters ) {
uniforms
.
normalMap
.
value
=
material
.
normalMap
;
uniforms
.
normalScale
.
value
.
copy
(
material
.
normalScale
);
if
(
material
.
side
===
BackSide
)
uniforms
.
normalScale
.
value
.
negate
();
}
...
...
@@ -2199,6 +2202,7 @@ function WebGLRenderer( parameters ) {
uniforms
.
bumpMap
.
value
=
material
.
bumpMap
;
uniforms
.
bumpScale
.
value
=
material
.
bumpScale
;
if
(
material
.
side
===
BackSide
)
uniforms
.
bumpScale
.
value
*=
-
1
;
}
...
...
@@ -2206,6 +2210,7 @@ function WebGLRenderer( parameters ) {
uniforms
.
normalMap
.
value
=
material
.
normalMap
;
uniforms
.
normalScale
.
value
.
copy
(
material
.
normalScale
);
if
(
material
.
side
===
BackSide
)
uniforms
.
normalScale
.
value
.
negate
();
}
...
...
@@ -2269,6 +2274,7 @@ function WebGLRenderer( parameters ) {
uniforms
.
bumpMap
.
value
=
material
.
bumpMap
;
uniforms
.
bumpScale
.
value
=
material
.
bumpScale
;
if
(
material
.
side
===
BackSide
)
uniforms
.
bumpScale
.
value
*=
-
1
;
}
...
...
@@ -2276,6 +2282,7 @@ function WebGLRenderer( parameters ) {
uniforms
.
normalMap
.
value
=
material
.
normalMap
;
uniforms
.
normalScale
.
value
.
copy
(
material
.
normalScale
);
if
(
material
.
side
===
BackSide
)
uniforms
.
normalScale
.
value
.
negate
();
}
...
...
src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl
浏览文件 @
d3494aa2
...
...
@@ -34,6 +34,8 @@
float
fDet
=
dot
(
vSigmaX
,
R1
);
fDet
*=
(
float
(
gl_FrontFacing
)
*
2
.
0
-
1
.
0
);
vec3
vGrad
=
sign
(
fDet
)
*
(
dHdxy
.
x
*
R1
+
dHdxy
.
y
*
R2
);
return
normalize
(
abs
(
fDet
)
*
surf_norm
-
vGrad
);
...
...
src/renderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl
浏览文件 @
d3494aa2
...
...
@@ -16,15 +16,17 @@
vec2
st1
=
dFdy
(
vUv
.
st
);
float
scale
=
sign
(
st1
.
t
*
st0
.
s
-
st0
.
t
*
st1
.
s
);
// we do not care about the magnitude
scale
*=
float
(
gl_FrontFacing
)
*
2
.
0
-
1
.
0
;
vec3
S
=
normalize
(
(
q0
*
st1
.
t
-
q1
*
st0
.
t
)
*
scale
);
vec3
T
=
normalize
(
(
-
q0
*
st1
.
s
+
q1
*
st0
.
s
)
*
scale
);
vec3
N
=
normalize
(
surf_norm
);
mat3
tsn
=
mat3
(
S
,
T
,
N
);
vec3
mapN
=
texture2D
(
normalMap
,
vUv
).
xyz
*
2
.
0
-
1
.
0
;
mapN
.
xy
=
normalScale
*
mapN
.
xy
;
mat3
tsn
=
mat3
(
S
,
T
,
N
);
mapN
.
xy
*=
normalScale
;
mapN
.
xy
*=
(
float
(
gl_FrontFacing
)
*
2
.
0
-
1
.
0
);
return
normalize
(
tsn
*
mapN
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录