forked from enlightenment/efl
[Evas: Evas_3D] Refactor shader system: refactored vertex color shade mode.
Reviewers: cedric, jpeg Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2228
This commit is contained in:
parent
8110ec94f4
commit
ffa7de039c
|
@ -25,7 +25,7 @@ static const char const vertex_color_vert_glsl[] =
|
|||
"#endif //VERTEX_COLOR_BLEND\n"
|
||||
"void main()\n"
|
||||
"{\n"
|
||||
"#ifdef VERTEX_POSITION_BLEND\n"
|
||||
" #ifdef VERTEX_POSITION_BLEND\n"
|
||||
" vec4 position = aPosition0 * uPositionWeight +\n"
|
||||
" aPosition1 * (1.0 - uPositionWeight);\n"
|
||||
" position = vec4(position.xyz, 1.0);\n"
|
||||
|
@ -59,9 +59,10 @@ static const char const vertex_color_frag_glsl[] =
|
|||
"void main()\n"
|
||||
"{\n"
|
||||
" gl_FragColor = vColor;\n"
|
||||
" \n"
|
||||
"#ifdef FOG_ENABLED\n"
|
||||
" float z = gl_FragCoord.z / gl_FragCoord.w;\n"
|
||||
" float fogFactor = exp2( -uFogFactor * uFogFactor * z * z * 1.44);\n"
|
||||
" float fogFactor = exp2(-uFogFactor * uFogFactor * z * z * 1.44);\n"
|
||||
" fogFactor = clamp(fogFactor, 0.0, 1.0);\n"
|
||||
" gl_FragColor = mix(uFogColor, gl_FragColor, fogFactor);\n"
|
||||
"#endif //FOG_ENABLED\n"
|
||||
|
|
|
@ -148,6 +148,16 @@ uniform float uTexCoordWeight;
|
|||
`#endif //VERTEX_TEXCOORD_BLEND'
|
||||
)
|
||||
|
||||
define(`VERTEX_SHADER_USE_COLOR',
|
||||
`#ifdef VERTEX_COLOR'
|
||||
attribute vec4 aColor0;
|
||||
`#endif //VERTEX_COLOR'
|
||||
|
||||
`#ifdef VERTEX_COLOR_BLEND'
|
||||
attribute vec4 aColor1;
|
||||
uniform float uColorWeight;
|
||||
`#endif //VERTEX_COLOR_BLEND')
|
||||
|
||||
define(`VERTEX_SHADER_POSITION',
|
||||
`#ifdef VERTEX_POSITION_BLEND'
|
||||
vec4 position = aPosition0 * uPositionWeight +
|
||||
|
|
|
@ -1,20 +1,10 @@
|
|||
varying vec4 vColor;
|
||||
|
||||
#ifdef FOG_ENABLED
|
||||
uniform float uFogFactor;
|
||||
uniform vec4 uFogColor;
|
||||
#endif //FOG_ENABLED
|
||||
FRAGMENT_SHADER_USE_FOG
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_FragColor = vColor;
|
||||
|
||||
#ifdef FOG_ENABLED
|
||||
float z = gl_FragCoord.z / gl_FragCoord.w;
|
||||
float fogFactor = exp2( -uFogFactor * uFogFactor * z * z * 1.44);
|
||||
fogFactor = clamp(fogFactor, 0.0, 1.0);
|
||||
gl_FragColor = mix(uFogColor, gl_FragColor, fogFactor);
|
||||
#endif //FOG_ENABLED
|
||||
|
||||
FRAGMENT_SHADER_FOG_APPLY
|
||||
}
|
||||
|
||||
|
|
|
@ -1,38 +1,12 @@
|
|||
uniform mat4 uMatrixMvp;
|
||||
varying vec4 vColor;
|
||||
|
||||
#ifdef VERTEX_POSITION
|
||||
attribute vec4 aPosition0;
|
||||
#endif //VERTEX_POSITION
|
||||
|
||||
#ifdef VERTEX_POSITION_BLEND
|
||||
attribute vec4 aPosition1;
|
||||
uniform float uPositionWeight;
|
||||
#endif //VERTEX_POSITION_BLEND
|
||||
|
||||
#ifdef VERTEX_COLOR
|
||||
attribute vec4 aColor0;
|
||||
#endif //VERTEX_COLOR
|
||||
|
||||
#ifdef VERTEX_COLOR_BLEND
|
||||
attribute vec4 aColor1;
|
||||
uniform float uColorWeight;
|
||||
#endif //VERTEX_COLOR_BLEND
|
||||
VERTEX_SHADER_USE_POSITION
|
||||
VERTEX_SHADER_USE_COLOR
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
#ifdef VERTEX_POSITION_BLEND
|
||||
vec4 position = aPosition0 * uPositionWeight +
|
||||
aPosition1 * (1.0 - uPositionWeight);
|
||||
position = vec4(position.xyz, 1.0);
|
||||
#else
|
||||
|
||||
#ifdef VERTEX_POSITION
|
||||
vec4 position = vec4(aPosition0.xyz, 1.0);
|
||||
#endif // VERTEX_POSITION
|
||||
|
||||
#endif //VERTEX_POSITION_BLEND
|
||||
VERTEX_SHADER_POSITION
|
||||
|
||||
#ifdef VERTEX_COLOR_BLEND
|
||||
vec4 color = aColor0 * uColorWeight + aColor1 * (1.0 - uColorWeight);
|
||||
|
|
Loading…
Reference in New Issue