Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
d8c36369
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,发现更多精彩内容 >>
提交
d8c36369
编写于
12月 10, 2016
作者:
M
Mr.doob
提交者:
GitHub
12月 10, 2016
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #10330 from bhouston/normalDoubleSided
add support for front/back/double to MeshNormalMaterial
上级
7594b76e
695071e6
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
40 addition
and
7 deletion
+40
-7
examples/webgl_materials_channels.html
examples/webgl_materials_channels.html
+14
-3
examples/webgl_materials_envmaps_hdr.html
examples/webgl_materials_envmaps_hdr.html
+23
-3
src/renderers/shaders/ShaderLib/normal_frag.glsl
src/renderers/shaders/ShaderLib/normal_frag.glsl
+3
-1
未找到文件。
examples/webgl_materials_channels.html
浏览文件 @
d8c36369
...
...
@@ -59,7 +59,8 @@
var
params
=
{
material
:
'
normal
'
,
camera
:
'
perspective
'
camera
:
'
perspective
'
,
side
:
'
double
'
};
var
cameraOrtho
,
cameraPerspective
;
...
...
@@ -84,7 +85,7 @@
var
gui
=
new
dat
.
GUI
();
gui
.
add
(
params
,
'
material
'
,
[
'
standard
'
,
'
normal
'
,
'
depthBasic
'
,
'
depthRGBA
'
]
);
gui
.
add
(
params
,
'
camera
'
,
[
'
perspective
'
,
'
ortho
'
]
);
gui
.
add
(
params
,
'
side
'
,
[
'
front
'
,
'
back
'
,
'
double
'
]
);
}
function
init
()
{
...
...
@@ -188,7 +189,9 @@
side
:
THREE
.
DoubleSide
}
);
materialNormal
=
new
THREE
.
MeshNormalMaterial
();
materialNormal
=
new
THREE
.
MeshNormalMaterial
(
{
side
:
THREE
.
DoubleSide
}
);
//
...
...
@@ -266,6 +269,14 @@
}
switch
(
params
.
side
)
{
case
'
front
'
:
material
.
side
=
THREE
.
FrontSide
;
break
;
case
'
back
'
:
material
.
side
=
THREE
.
BackSide
;
break
;
case
'
double
'
:
material
.
side
=
THREE
.
DoubleSide
;
break
;
}
mesh
.
material
=
material
;
}
...
...
examples/webgl_materials_envmaps_hdr.html
浏览文件 @
d8c36369
...
...
@@ -63,7 +63,8 @@
roughness
:
1.0
,
bumpScale
:
0.3
,
background
:
false
,
exposure
:
1.0
exposure
:
1.0
,
side
:
'
front
'
};
var
camera
,
scene
,
renderer
,
controls
,
objects
=
[];
var
hdrCubeMap
;
...
...
@@ -91,8 +92,8 @@
standardMaterial
=
new
THREE
.
MeshStandardMaterial
(
{
map
:
null
,
bumpScale
:
-
0.05
,
color
:
0xff
ffff
,
metalness
:
1.0
,
color
:
0xff
4444
,
metalness
:
0.5
,
roughness
:
1.0
,
shading
:
THREE
.
SmoothShading
}
);
...
...
@@ -127,6 +128,7 @@
map
.
wrapT
=
THREE
.
RepeatWrapping
;
map
.
anisotropy
=
4
;
map
.
repeat
.
set
(
9
,
2
);
standardMaterial
.
map
=
map
;
standardMaterial
.
roughnessMap
=
map
;
standardMaterial
.
bumpMap
=
map
;
standardMaterial
.
needsUpdate
=
true
;
...
...
@@ -219,6 +221,7 @@
gui
.
add
(
params
,
'
roughness
'
,
0
,
1
);
gui
.
add
(
params
,
'
bumpScale
'
,
-
1
,
1
);
gui
.
add
(
params
,
'
exposure
'
,
0.1
,
2
);
gui
.
add
(
params
,
'
side
'
,
[
'
front
'
,
'
back
'
,
'
double
'
]
);
gui
.
open
();
}
...
...
@@ -275,6 +278,23 @@
}
var
side
=
standardMaterial
.
side
;
switch
(
params
.
side
)
{
case
'
front
'
:
side
=
THREE
.
FrontSide
;
break
;
case
'
back
'
:
side
=
THREE
.
BackSide
;
break
;
case
'
double
'
:
side
=
THREE
.
DoubleSide
;
break
;
}
if
(
standardMaterial
.
side
!==
side
)
{
standardMaterial
.
side
=
side
;
standardMaterial
.
needsUpdate
=
true
;
}
}
renderer
.
toneMappingExposure
=
Math
.
pow
(
params
.
exposure
,
4.0
);
...
...
src/renderers/shaders/ShaderLib/normal_frag.glsl
浏览文件 @
d8c36369
...
...
@@ -9,7 +9,9 @@ varying vec3 vNormal;
void
main
()
{
#include <clipping_planes_fragment>
gl_FragColor
=
vec4
(
packNormalToRGB
(
vNormal
),
opacity
);
#include <normal_flip>
gl_FragColor
=
vec4
(
packNormalToRGB
(
vNormal
*
flipNormal
),
opacity
);
#include <logdepthbuf_fragment>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录