Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
车家大少爷
three.js
提交
af236a42
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,发现更多精彩内容 >>
提交
af236a42
编写于
12月 29, 2014
作者:
B
Ben Houston
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
completing adjustable gamma - still one bug left.
上级
1c24e4d1
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
34 addition
and
71 deletion
+34
-71
examples/js/ShaderDeferred.js
examples/js/ShaderDeferred.js
+1
-5
examples/js/ShaderTerrain.js
examples/js/ShaderTerrain.js
+2
-6
src/renderers/shaders/ShaderChunk/color_vertex.glsl
src/renderers/shaders/ShaderChunk/color_vertex.glsl
+1
-9
src/renderers/shaders/ShaderChunk/common.glsl
src/renderers/shaders/ShaderChunk/common.glsl
+16
-0
src/renderers/shaders/ShaderChunk/envmap_fragment.glsl
src/renderers/shaders/ShaderChunk/envmap_fragment.glsl
+1
-5
src/renderers/shaders/ShaderChunk/linear_to_gamma_fragment.glsl
...nderers/shaders/ShaderChunk/linear_to_gamma_fragment.glsl
+1
-4
src/renderers/shaders/ShaderChunk/map_fragment.glsl
src/renderers/shaders/ShaderChunk/map_fragment.glsl
+1
-5
src/renderers/shaders/ShaderChunk/shadowmap_fragment.glsl
src/renderers/shaders/ShaderChunk/shadowmap_fragment.glsl
+2
-5
src/renderers/shaders/ShaderLib.js
src/renderers/shaders/ShaderLib.js
+5
-30
src/renderers/webgl/WebGLProgram.js
src/renderers/webgl/WebGLProgram.js
+4
-2
未找到文件。
examples/js/ShaderDeferred.js
浏览文件 @
af236a42
...
...
@@ -225,11 +225,7 @@ THREE.ShaderDeferred = {
"
#endif
"
,
"
#ifdef GAMMA_INPUT
"
,
"
cubeColor.xyz *= cubeColor.xyz;
"
,
"
#endif
"
,
"
cubeColor.xyz = inputToLinear( cubeColor.xyz );
"
,
"
if ( combine == 1 ) {
"
,
...
...
examples/js/ShaderTerrain.js
浏览文件 @
af236a42
...
...
@@ -134,12 +134,8 @@ THREE.ShaderTerrain = {
"
vec4 colDiffuse1 = texture2D( tDiffuse1, uvOverlay );
"
,
"
vec4 colDiffuse2 = texture2D( tDiffuse2, uvOverlay );
"
,
"
#ifdef GAMMA_INPUT
"
,
"
colDiffuse1.xyz *= colDiffuse1.xyz;
"
,
"
colDiffuse2.xyz *= colDiffuse2.xyz;
"
,
"
#endif
"
,
"
colDiffuse1.xyz = inputToLinear( colDiffuse1.xyz );
"
,
"
colDiffuse2.xyz = inputToLinear( colDiffuse2.xyz );
"
,
"
gl_FragColor = gl_FragColor * mix ( colDiffuse1, colDiffuse2, 1.0 - texture2D( tDisplacement, uvBase ) );
"
,
...
...
src/renderers/shaders/ShaderChunk/color_vertex.glsl
浏览文件 @
af236a42
#ifdef USE_COLOR
#ifdef GAMMA_INPUT
vColor
=
square
(
color
);
#else
vColor
=
color
;
#endif
vColor
.
xyz
=
inputToLinear
(
color
.
xyz
);
#endif
\ No newline at end of file
src/renderers/shaders/ShaderChunk/common.glsl
浏览文件 @
af236a42
...
...
@@ -36,4 +36,20 @@ float sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {
}
vec3
linePlaneIntersect
(
in
vec3
pointOnLine
,
in
vec3
lineDirection
,
in
vec3
pointOnPlane
,
in
vec3
planeNormal
)
{
return
pointOnLine
+
lineDirection
*
(
dot
(
planeNormal
,
pointOnPlane
-
pointOnLine
)
/
dot
(
planeNormal
,
lineDirection
)
);
}
vec3
inputToLinear
(
in
vec3
a
)
{
#ifdef GAMMA_INPUT
return
pow
(
a
.
rgb
,
vec3
(
float
(
GAMMA_FACTOR
)
)
);
#else
return
a
;
#endif
}
vec3
linearToOutput
(
in
vec3
a
)
{
#ifdef GAMMA_OUTPUT
return
pow
(
a
.
rgb
,
vec3
(
1
.
0
/
float
(
GAMMA_FACTOR
)
)
);
#else
return
a
;
#endif
}
\ No newline at end of file
src/renderers/shaders/ShaderChunk/envmap_fragment.glsl
浏览文件 @
af236a42
...
...
@@ -43,11 +43,7 @@
vec4
envColor
=
texture2D
(
envMap
,
reflectView
.
xy
*
0
.
5
+
0
.
5
);
#endif
#ifdef GAMMA_INPUT
envColor
.
xyz
*=
envColor
.
xyz
;
#endif
envColor
.
xyz
=
inputToLinear
(
envColor
.
xyz
);
#ifdef ENVMAP_BLENDING_MULTIPLY
...
...
src/renderers/shaders/ShaderChunk/linear_to_gamma_fragment.glsl
浏览文件 @
af236a42
#ifdef GAMMA_OUTPUT
gl_FragColor
.
xyz
=
sqrt
(
gl_FragColor
.
xyz
);
#endif
\ No newline at end of file
gl_FragColor
.
xyz
=
linearToOutput
(
gl_FragColor
.
xyz
);
src/renderers/shaders/ShaderChunk/map_fragment.glsl
浏览文件 @
af236a42
...
...
@@ -2,11 +2,7 @@
vec4
texelColor
=
texture2D
(
map
,
vUv
);
#ifdef GAMMA_INPUT
texelColor
.
xyz
*=
texelColor
.
xyz
;
#endif
texelColor
.
xyz
=
inputToLinear
(
texelColor
.
xyz
);
gl_FragColor
=
gl_FragColor
*
texelColor
;
...
...
src/renderers/shaders/ShaderChunk/shadowmap_fragment.glsl
浏览文件 @
af236a42
...
...
@@ -209,11 +209,8 @@
}
#ifdef GAMMA_OUTPUT
shadowColor
*=
shadowColor
;
#endif
// NOTE: I am unsure if this is correct in linear space. -bhouston, Dec 29, 2014
shadowColor
=
inputToLinear
(
shadowColor
);
gl_FragColor
.
xyz
=
gl_FragColor
.
xyz
*
shadowColor
;
...
...
src/renderers/shaders/ShaderLib.js
浏览文件 @
af236a42
...
...
@@ -749,35 +749,15 @@ THREE.ShaderLib = {
"
if( enableDiffuse ) {
"
,
"
#ifdef GAMMA_INPUT
"
,
"
vec4 texelColor = texture2D( tDiffuse, vUv );
"
,
"
texelColor.xyz *= texelColor.xyz;
"
,
"
gl_FragColor = gl_FragColor * texelColor;
"
,
"
#else
"
,
"
gl_FragColor = gl_FragColor * texture2D( tDiffuse, vUv );
"
,
"
#endif
"
,
"
vec4 texelColor = texture2D( tDiffuse, vUv );
"
,
"
texelColor.xyz = inputToLinear( texelColor.xyz );
"
,
"
gl_FragColor = gl_FragColor * texelColor;
"
,
"
}
"
,
"
if( enableAO ) {
"
,
"
#ifdef GAMMA_INPUT
"
,
"
vec4 aoColor = texture2D( tAO, vUv );
"
,
"
aoColor.xyz *= aoColor.xyz;
"
,
"
gl_FragColor.xyz = gl_FragColor.xyz * aoColor.xyz;
"
,
"
#else
"
,
"
gl_FragColor.xyz = gl_FragColor.xyz * texture2D( tAO, vUv ).xyz;
"
,
"
#endif
"
,
"
gl_FragColor.xyz = gl_FragColor.xyz * inputToLinear( texture2D( tAO, vUv ).xyz );
"
,
"
}
"
,
...
...
@@ -1054,12 +1034,7 @@ THREE.ShaderLib = {
"
#endif
"
,
"
vec4 cubeColor = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) );
"
,
"
#ifdef GAMMA_INPUT
"
,
"
cubeColor.xyz *= cubeColor.xyz;
"
,
"
#endif
"
,
"
cubeColor.xyz = inputToLinear( cubeColor.xyz );
"
,
"
gl_FragColor.xyz = mix( gl_FragColor.xyz, cubeColor.xyz, specularTex.r * reflectivity );
"
,
...
...
src/renderers/webgl/WebGLProgram.js
浏览文件 @
af236a42
...
...
@@ -135,6 +135,8 @@ THREE.WebGLProgram = ( function () {
}
var
gammaFactorDefine
=
(
renderer
.
gammaFactor
>
0
)
?
renderer
.
gammaFactor
:
1.0
;
// console.log( "building new program " );
//
...
...
@@ -165,7 +167,7 @@ THREE.WebGLProgram = ( function () {
_this
.
gammaInput
?
"
#define GAMMA_INPUT
"
:
""
,
_this
.
gammaOutput
?
"
#define GAMMA_OUTPUT
"
:
""
,
"
#define GAMMA_FACTOR
"
+
this
.
renderer
.
gammaFactor
,
"
#define GAMMA_FACTOR
"
+
gammaFactorDefine
,
"
#define MAX_DIR_LIGHTS
"
+
parameters
.
maxDirLights
,
"
#define MAX_POINT_LIGHTS
"
+
parameters
.
maxPointLights
,
...
...
@@ -280,7 +282,7 @@ THREE.WebGLProgram = ( function () {
_this
.
gammaInput
?
"
#define GAMMA_INPUT
"
:
""
,
_this
.
gammaOutput
?
"
#define GAMMA_OUTPUT
"
:
""
,
"
#define GAMMA_FACTOR
"
+
this
.
renderer
.
gammaFactor
,
"
#define GAMMA_FACTOR
"
+
gammaFactorDefine
,
(
parameters
.
useFog
&&
parameters
.
fog
)
?
"
#define USE_FOG
"
:
""
,
(
parameters
.
useFog
&&
parameters
.
fogExp
)
?
"
#define FOG_EXP2
"
:
""
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录