Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
839ee7a3
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,发现更多精彩内容 >>
提交
839ee7a3
编写于
4月 08, 2015
作者:
R
Ricardo Cabello
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #6354 from benaadams/revertish-glsl
Add defines for glsl functions
上级
4e88f5b6
69a8d3b3
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
14 addition
and
29 deletion
+14
-29
src/renderers/shaders/ShaderChunk/common.glsl
src/renderers/shaders/ShaderChunk/common.glsl
+8
-5
src/renderers/shaders/ShaderChunk/envmap_fragment.glsl
src/renderers/shaders/ShaderChunk/envmap_fragment.glsl
+1
-1
src/renderers/shaders/ShaderChunk/fog_fragment.glsl
src/renderers/shaders/ShaderChunk/fog_fragment.glsl
+1
-1
src/renderers/shaders/ShaderChunk/helper_funcs.glsl
src/renderers/shaders/ShaderChunk/helper_funcs.glsl
+0
-16
src/renderers/shaders/ShaderChunk/lights_phong_fragment.glsl
src/renderers/shaders/ShaderChunk/lights_phong_fragment.glsl
+1
-1
src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl
...erers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl
+2
-3
src/renderers/shaders/ShaderLib.js
src/renderers/shaders/ShaderLib.js
+1
-1
utils/build/includes/common.json
utils/build/includes/common.json
+0
-1
未找到文件。
src/renderers/shaders/ShaderChunk/common.glsl
浏览文件 @
839ee7a3
...
...
@@ -4,6 +4,9 @@
#define LOG2 1.442695
#define EPSILON 1e-6
#define saturate(a) clamp( a, 0.0, 1.0 )
#define whiteCompliment(a) ( 1.0 - saturate( a ) )
vec3
transformDirection
(
in
vec3
normal
,
in
mat4
matrix
)
{
return
normalize
(
(
matrix
*
vec4
(
normal
,
0
.
0
)
).
xyz
);
...
...
@@ -41,7 +44,7 @@ float calcLightAttenuation( float lightDistance, float cutoffDistance, float dec
if
(
decayExponent
>
0
.
0
)
{
return
pow
(
clamp
(
-
lightDistance
/
cutoffDistance
+
1
.
0
,
0
.
0
,
1
.
0
),
decayExponent
);
return
pow
(
saturate
(
-
lightDistance
/
cutoffDistance
+
1
.
0
),
decayExponent
);
}
...
...
@@ -75,10 +78,10 @@ vec3 BRDF_BlinnPhong( in vec3 specularColor, in float shininess, in vec3 normal,
vec3
halfDir
=
normalize
(
lightDir
+
viewDir
);
//float dotNL =
clamp( dot( normal, lightDir ), 0.0, 1.0
);
//float dotNV =
clamp( dot( normal, viewDir ), 0.0, 1.0
);
float
dotNH
=
clamp
(
dot
(
normal
,
halfDir
),
0
.
0
,
1
.
0
);
float
dotLH
=
clamp
(
dot
(
lightDir
,
halfDir
),
0
.
0
,
1
.
0
);
//float dotNL =
saturate( dot( normal, lightDir )
);
//float dotNV =
saturate( dot( normal, viewDir )
);
float
dotNH
=
saturate
(
dot
(
normal
,
halfDir
)
);
float
dotLH
=
saturate
(
dot
(
lightDir
,
halfDir
)
);
vec3
F
=
F_Schlick
(
specularColor
,
dotLH
);
...
...
src/renderers/shaders/ShaderChunk/envmap_fragment.glsl
浏览文件 @
839ee7a3
...
...
@@ -34,7 +34,7 @@
#elif defined( ENVMAP_TYPE_EQUIREC )
vec2
sampleUV
;
sampleUV
.
y
=
clamp
(
flipNormal
*
reflectVec
.
y
*
0
.
5
+
0
.
5
,
0
.
0
,
1
.
0
);
sampleUV
.
y
=
saturate
(
flipNormal
*
reflectVec
.
y
*
0
.
5
+
0
.
5
);
sampleUV
.
x
=
atan
(
flipNormal
*
reflectVec
.
z
,
flipNormal
*
reflectVec
.
x
)
*
RECIPROCAL_PI2
+
0
.
5
;
vec4
envColor
=
texture2D
(
envMap
,
sampleUV
);
...
...
src/renderers/shaders/ShaderChunk/fog_fragment.glsl
浏览文件 @
839ee7a3
...
...
@@ -12,7 +12,7 @@
#ifdef FOG_EXP2
float
fogFactor
=
1
.
0
-
clamp
(
exp2
(
-
fogDensity
*
fogDensity
*
depth
*
depth
*
LOG2
),
0
.
0
,
1
.
0
);
float
fogFactor
=
whiteCompliment
(
exp2
(
-
fogDensity
*
fogDensity
*
depth
*
depth
*
LOG2
)
);
#else
...
...
src/renderers/shaders/ShaderChunk/helper_funcs.glsl
已删除
100644 → 0
浏览文件 @
4e88f5b6
float
square
(
in
float
a
)
{
return
a
*
a
;
}
vec2
square
(
in
vec2
a
)
{
return
a
*
a
;
}
vec3
square
(
in
vec3
a
)
{
return
a
*
a
;
}
vec4
square
(
in
vec4
a
)
{
return
a
*
a
;
}
float
saturate
(
in
float
a
)
{
return
clamp
(
a
,
0
.
0
,
1
.
0
);
}
vec2
saturate
(
in
vec2
a
)
{
return
clamp
(
a
,
0
.
0
,
1
.
0
);
}
vec3
saturate
(
in
vec3
a
)
{
return
clamp
(
a
,
0
.
0
,
1
.
0
);
}
vec4
saturate
(
in
vec4
a
)
{
return
clamp
(
a
,
0
.
0
,
1
.
0
);
}
float
average
(
in
float
a
)
{
return
a
;
}
float
average
(
in
vec2
a
)
{
return
(
a
.
x
+
a
.
y
)
*
0
.
5
;
}
float
average
(
in
vec3
a
)
{
return
(
a
.
x
+
a
.
y
+
a
.
z
)
/
3
.
0
;
}
float
average
(
in
vec4
a
)
{
return
(
a
.
x
+
a
.
y
+
a
.
z
+
a
.
w
)
*
0
.
25
;
}
float
whiteCompliment
(
in
float
a
)
{
return
saturate
(
1
.
0
-
a
);
}
vec2
whiteCompliment
(
in
vec2
a
)
{
return
saturate
(
1
.
0
-
a
);
}
vec3
whiteCompliment
(
in
vec3
a
)
{
return
saturate
(
1
.
0
-
a
);
}
vec4
whiteCompliment
(
in
vec4
a
)
{
return
saturate
(
1
.
0
-
a
);
}
\ No newline at end of file
src/renderers/shaders/ShaderChunk/lights_phong_fragment.glsl
浏览文件 @
839ee7a3
...
...
@@ -78,7 +78,7 @@ vec3 totalSpecularLight = vec3( 0.0 );
if
(
spotEffect
>
spotLightAngleCos
[
i
]
)
{
spotEffect
=
clamp
(
pow
(
clamp
(
spotEffect
,
0
.
0
,
1
.
0
),
spotLightExponent
[
i
]
),
0
.
0
,
1
.
0
);
spotEffect
=
saturate
(
pow
(
saturate
(
spotEffect
),
spotLightExponent
[
i
]
)
);
// attenuation
...
...
src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl
浏览文件 @
839ee7a3
...
...
@@ -60,12 +60,11 @@ varying vec3 vViewPosition;
vec3
calcCosineTerm
(
in
vec3
normal
,
in
vec3
lightDir
)
{
float
dotProduct
=
dot
(
normal
,
lightDir
);
vec3
cosineTerm
=
vec3
(
clamp
(
dotProduct
,
0
.
0
,
1
.
0
)
);
vec3
cosineTerm
=
vec3
(
saturate
(
dotProduct
)
);
#ifdef WRAP_AROUND
vec3
cosineTermHalf
=
vec3
(
clamp
(
0
.
5
*
dotProduct
+
0
.
5
,
0
.
0
,
1
.
0
)
);
vec3
cosineTermHalf
=
vec3
(
saturate
(
0
.
5
*
dotProduct
+
0
.
5
)
);
cosineTerm
=
mix
(
cosineTerm
,
cosineTermHalf
,
wrapRGB
);
...
...
src/renderers/shaders/ShaderLib.js
浏览文件 @
839ee7a3
...
...
@@ -737,7 +737,7 @@ THREE.ShaderLib = {
// " gl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );",
"
vec3 direction = normalize( vWorldPosition );
"
,
"
vec2 sampleUV;
"
,
"
sampleUV.y =
clamp( tFlip * direction.y * -0.5 + 0.5, 0.0, 1.0
);
"
,
"
sampleUV.y =
saturate( tFlip * direction.y * -0.5 + 0.5
);
"
,
"
sampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;
"
,
"
gl_FragColor = texture2D( tEquirect, sampleUV );
"
,
...
...
utils/build/includes/common.json
浏览文件 @
839ee7a3
...
...
@@ -108,7 +108,6 @@
"src/renderers/shaders/ShaderChunk/envmap_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/fog_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/helper_funcs.glsl"
,
"src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/lightmap_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/lights_lambert_pars_vertex.glsl"
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录