jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ffa7de039ca0a34202f0b5cb4f39edf1f3892c7c

commit ffa7de039ca0a34202f0b5cb4f39edf1f3892c7c
Author: Dmytro Dadyka <[email protected]>
Date:   Tue Mar 24 10:50:25 2015 -0700

    [Evas: Evas_3D] Refactor shader system: refactored vertex color shade mode.
    
    Reviewers: cedric, jpeg
    
    Subscribers: cedric
    
    Differential Revision: https://phab.enlightenment.org/D2228
---
 .../gl_common/shader_3d/evas_gl_3d_shaders.x       |  5 ++--
 .../evas/engines/gl_common/shader_3d/include.shd   | 10 +++++++
 .../gl_common/shader_3d/vertex_color_frag.shd      | 14 ++--------
 .../gl_common/shader_3d/vertex_color_vert.shd      | 32 ++--------------------
 4 files changed, 18 insertions(+), 43 deletions(-)

diff --git a/src/modules/evas/engines/gl_common/shader_3d/evas_gl_3d_shaders.x 
b/src/modules/evas/engines/gl_common/shader_3d/evas_gl_3d_shaders.x
index 40ad124..b8a5edb 100644
--- a/src/modules/evas/engines/gl_common/shader_3d/evas_gl_3d_shaders.x
+++ b/src/modules/evas/engines/gl_common/shader_3d/evas_gl_3d_shaders.x
@@ -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"
diff --git a/src/modules/evas/engines/gl_common/shader_3d/include.shd 
b/src/modules/evas/engines/gl_common/shader_3d/include.shd
index 5028021..aea3c8f 100644
--- a/src/modules/evas/engines/gl_common/shader_3d/include.shd
+++ b/src/modules/evas/engines/gl_common/shader_3d/include.shd
@@ -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 +
diff --git a/src/modules/evas/engines/gl_common/shader_3d/vertex_color_frag.shd 
b/src/modules/evas/engines/gl_common/shader_3d/vertex_color_frag.shd
index 9b0c023..24fb237 100644
--- a/src/modules/evas/engines/gl_common/shader_3d/vertex_color_frag.shd
+++ b/src/modules/evas/engines/gl_common/shader_3d/vertex_color_frag.shd
@@ -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
 }
 
diff --git a/src/modules/evas/engines/gl_common/shader_3d/vertex_color_vert.shd 
b/src/modules/evas/engines/gl_common/shader_3d/vertex_color_vert.shd
index 560baad..6daeacf 100644
--- a/src/modules/evas/engines/gl_common/shader_3d/vertex_color_vert.shd
+++ b/src/modules/evas/engines/gl_common/shader_3d/vertex_color_vert.shd
@@ -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);

-- 


Reply via email to