Revision: 16386
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16386
Author:   blendix
Date:     2008-09-05 22:34:35 +0200 (Fri, 05 Sep 2008)

Log Message:
-----------

GLSL: small optimization if Use Alpha is disabled for textures.

Modified Paths:
--------------
    trunk/blender/source/blender/gpu/intern/gpu_material.c
    trunk/blender/source/blender/gpu/intern/gpu_shader_material.glsl
    trunk/blender/source/blender/gpu/intern/gpu_shader_material.glsl.c

Modified: trunk/blender/source/blender/gpu/intern/gpu_material.c
===================================================================
--- trunk/blender/source/blender/gpu/intern/gpu_material.c      2008-09-05 
16:22:14 UTC (rev 16385)
+++ trunk/blender/source/blender/gpu/intern/gpu_material.c      2008-09-05 
20:34:35 UTC (rev 16386)
@@ -958,10 +958,15 @@
                        if(ofs[0] != 0.0f || ofs[1] != 0.0f || ofs[2] != 0.0f)
                                GPU_link(mat, "mtex_mapping_ofs", texco, 
GPU_uniform(ofs), &texco);
 
+                       talpha = 0;
+                       rgbnor = 0;
+
                        if(tex && tex->type == TEX_IMAGE && tex->ima) {
                                GPU_link(mat, "mtex_image", texco, 
GPU_image(tex->ima, NULL), &tin, &trgb, &tnor);
                                rgbnor= TEX_RGB;
-                               talpha= 1;
+
+                               if(tex->imaflag & TEX_USEALPHA)
+                                       talpha= 1;
                    }
                        else continue;
 
@@ -1001,8 +1006,10 @@
 
                                        if(mtex->mapto & MAP_ALPHA)
                                                GPU_link(mat, "set_value", 
stencil, &tin);
+                                       else if(talpha)
+                                               GPU_link(mat, 
"mtex_alpha_from_col", trgb, &tin);
                                        else
-                                               GPU_link(mat, 
"mtex_alpha_from_col", trgb, &tin);
+                                               GPU_link(mat, "set_value_one", 
&tin);
                                }
                                
                                if(mtex->mapto & MAP_COL)

Modified: trunk/blender/source/blender/gpu/intern/gpu_shader_material.glsl
===================================================================
--- trunk/blender/source/blender/gpu/intern/gpu_shader_material.glsl    
2008-09-05 16:22:14 UTC (rev 16385)
+++ trunk/blender/source/blender/gpu/intern/gpu_shader_material.glsl    
2008-09-05 20:34:35 UTC (rev 16386)
@@ -311,6 +311,11 @@
        outval = 0.0;
 }
 
+void set_value_one(out float outval)
+{
+       outval = 1.0;
+}
+
 void set_rgb_zero(out vec3 outval)
 {
        outval = vec3(0.0);
@@ -1392,7 +1397,7 @@
                                float b = (2.0*nh*nv)/vh;
                                float c = (2.0*nh*nl)/vh;
 
-                               float g;
+                               float g = 0.0;
 
                                if(a < b && a < c) g = a;
                                else if(b < a && b < c) g = b;

Modified: trunk/blender/source/blender/gpu/intern/gpu_shader_material.glsl.c
===================================================================
--- trunk/blender/source/blender/gpu/intern/gpu_shader_material.glsl.c  
2008-09-05 16:22:14 UTC (rev 16385)
+++ trunk/blender/source/blender/gpu/intern/gpu_shader_material.glsl.c  
2008-09-05 20:34:35 UTC (rev 16386)
@@ -1,916 +1,918 @@
 /* DataToC output of file <gpu_shader_material_glsl> */
 
-int datatoc_gpu_shader_material_glsl_size= 32765;
+int datatoc_gpu_shader_material_glsl_size= 32828;
 char datatoc_gpu_shader_material_glsl[]= {
- 10,102,108,111, 97,116, 32,101,120,112, 95, 98,108,101,110,100,101,114, 
40,102,108,111, 97,116, 32,102, 41, 10,123,
- 10,  9,114,101,116,117,114,110, 32,112,111,119, 40, 50, 46, 55, 49, 56, 50, 
56, 49, 56, 50, 56, 52, 54, 44, 32,102, 41, 59, 10,
-125, 10, 10,118,111,105,100, 32,114,103, 98, 95,116,111, 95,104,115,118, 
40,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116,
- 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10,  
9,102,108,111, 97,116, 32, 99,109, 97,120, 44, 32, 99,109,105,
-110, 44, 32,104, 44, 32,115, 44, 32,118, 44, 32, 99,100,101,108,116, 97, 59, 
10,  9,118,101, 99, 51, 32, 99, 59, 10, 10,  9, 99,
-109, 97,120, 32, 61, 32,109, 97,120, 40,114,103, 98, 91, 48, 93, 44, 32,109, 
97,120, 40,114,103, 98, 91, 49, 93, 44, 32,114,103,
- 98, 91, 50, 93, 41, 41, 59, 10,  9, 99,109,105,110, 32, 61, 32,109,105,110, 
40,114,103, 98, 91, 48, 93, 44, 32,109,105,110, 40,
-114,103, 98, 91, 49, 93, 44, 32,114,103, 98, 91, 50, 93, 41, 41, 59, 10,  9, 
99,100,101,108,116, 97, 32, 61, 32, 99,109, 97,120,
- 45, 99,109,105,110, 59, 10, 10,  9,118, 32, 61, 32, 99,109, 97,120, 59, 10,  
9,105,102, 32, 40, 99,109, 97,120, 33, 61, 48, 46,
- 48, 41, 10,  9,  9,115, 32, 61, 32, 99,100,101,108,116, 97, 47, 99,109, 
97,120, 59, 10,  9,101,108,115,101, 32,123, 10,  9,  9,
-115, 32, 61, 32, 48, 46, 48, 59, 10,  9,  9,104, 32, 61, 32, 48, 46, 48, 59, 
10,  9,125, 10, 10,  9,105,102, 32, 40,115, 32, 61,
- 61, 32, 48, 46, 48, 41, 32,123, 10,  9,  9,104, 32, 61, 32, 48, 46, 48, 59, 
10,  9,125, 10,  9,101,108,115,101, 32,123, 10,  9,
-  9, 99, 32, 61, 32, 40,118,101, 99, 51, 40, 99,109, 97,120, 44, 32, 99,109, 
97,120, 44, 32, 99,109, 97,120, 41, 32, 45, 32,114,
-103, 98, 46,120,121,122, 41, 47, 99,100,101,108,116, 97, 59, 10, 10,  9,  
9,105,102, 32, 40,114,103, 98, 46,120, 61, 61, 99,109,
- 97,120, 41, 32,104, 32, 61, 32, 99, 91, 50, 93, 32, 45, 32, 99, 91, 49, 93, 
59, 10,  9,  9,101,108,115,101, 32,105,102, 32, 40,
-114,103, 98, 46,121, 61, 61, 99,109, 97,120, 41, 32,104, 32, 61, 32, 50, 46, 
48, 32, 43, 32, 99, 91, 48, 93, 32, 45, 32, 32, 99,
- 91, 50, 93, 59, 10,  9,  9,101,108,115,101, 32,104, 32, 61, 32, 52, 46, 48, 
32, 43, 32, 99, 91, 49, 93, 32, 45, 32, 99, 91, 48,
- 93, 59, 10, 10,  9,  9,104, 32, 47, 61, 32, 54, 46, 48, 59, 10, 10,  9,  
9,105,102, 32, 40,104, 60, 48, 46, 48, 41, 10,  9,  9,
-  9,104, 32, 43, 61, 32, 49, 46, 48, 59, 10,  9,125, 10, 10,  9,111,117,116, 
99,111,108, 32, 61, 32,118,101, 99, 52, 40,104, 44,
- 32,115, 44, 32,118, 44, 32,114,103, 98, 46,119, 41, 59, 10,125, 10, 
10,118,111,105,100, 32,104,115,118, 95,116,111, 95,114,103,
- 98, 40,118,101, 99, 52, 32,104,115,118, 44, 32,111,117,116, 32,118,101, 99, 
52, 32,111,117,116, 99,111,108, 41, 10,123, 10,  9,
-102,108,111, 97,116, 32,105, 44, 32,102, 44, 32,112, 44, 32,113, 44, 32,116, 
44, 32,104, 44, 32,115, 44, 32,118, 59, 10,  9,118,
-101, 99, 51, 32,114,103, 98, 59, 10, 10,  9,104, 32, 61, 32,104,115,118, 91, 
48, 93, 59, 10,  9,115, 32, 61, 32,104,115,118, 91,
- 49, 93, 59, 10,  9,118, 32, 61, 32,104,115,118, 91, 50, 93, 59, 10, 10,  
9,105,102, 40,115, 61, 61, 48, 46, 48, 41, 32,123, 10,
-  9,  9,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,118, 44, 
32,118, 41, 59, 10,  9,125, 10,  9,101,108,115,101, 32,
-123, 10,  9,  9,105,102, 40,104, 61, 61, 49, 46, 48, 41, 10,  9,  9,  9,104, 
32, 61, 32, 48, 46, 48, 59, 10,  9,  9, 10,  9,  9,
-104, 32, 42, 61, 32, 54, 46, 48, 59, 10,  9,  9,105, 32, 61, 
32,102,108,111,111,114, 40,104, 41, 59, 10,  9,  9,102, 32, 61, 32,
-104, 32, 45, 32,105, 59, 10,  9,  9,114,103, 98, 32, 61, 32,118,101, 99, 51, 
40,102, 44, 32,102, 44, 32,102, 41, 59, 10,  9,  9,
-112, 32, 61, 32,118, 42, 40, 49, 46, 48, 45,115, 41, 59, 10,  9,  9,113, 32, 
61, 32,118, 42, 40, 49, 46, 48, 45, 40,115, 42,102,
- 41, 41, 59, 10,  9,  9,116, 32, 61, 32,118, 42, 40, 49, 46, 48, 45, 40,115, 
42, 40, 49, 46, 48, 45,102, 41, 41, 41, 59, 10,  9,
-  9, 10,  9,  9,105,102, 32, 40,105, 32, 61, 61, 32, 48, 46, 48, 41, 
32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,
-116, 44, 32,112, 41, 59, 10,  9,  9,101,108,115,101, 32,105,102, 32, 40,105, 
32, 61, 61, 32, 49, 46, 48, 41, 32,114,103, 98, 32,
- 61, 32,118,101, 99, 51, 40,113, 44, 32,118, 44, 32,112, 41, 59, 10,  9,  
9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61,
- 32, 50, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,112, 44, 
32,118, 44, 32,116, 41, 59, 10,  9,  9,101,108,115,
-101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 51, 46, 48, 41, 32,114,103, 98, 
32, 61, 32,118,101, 99, 51, 40,112, 44, 32,113, 44,
- 32,118, 41, 59, 10,  9,  9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 
61, 32, 52, 46, 48, 41, 32,114,103, 98, 32, 61, 32,
-118,101, 99, 51, 40,116, 44, 32,112, 44, 32,118, 41, 59, 10,  9,  
9,101,108,115,101, 32,114,103, 98, 32, 61, 32,118,101, 99, 51,
- 40,118, 44, 32,112, 44, 32,113, 41, 59, 10,  9,125, 10, 10,  9,111,117,116, 
99,111,108, 32, 61, 32,118,101, 99, 52, 40,114,103,
- 98, 44, 32,104,115,118, 46,119, 41, 59, 10,125, 10, 10, 
35,100,101,102,105,110,101, 32, 77, 95, 80, 73, 32, 51, 46, 49, 52, 49,
- 53, 57, 50, 54, 53, 51, 53, 56, 57, 55, 57, 51, 50, 51, 56, 52, 54, 10, 10, 
47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32,
- 83, 72, 65, 68, 69, 82, 32, 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 
42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,
-111,105,100, 32,118, 99,111,108, 95, 97,116,116,114,105, 98,117,116,101, 
40,118,101, 99, 52, 32, 97,116,116,118, 99,111,108, 44,
- 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, 41, 10,123, 10,  
9,118, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 97,
-116,116,118, 99,111,108, 46,120, 47, 50, 53, 53, 46, 48, 44, 32, 
97,116,116,118, 99,111,108, 46,121, 47, 50, 53, 53, 46, 48, 44,
- 32, 97,116,116,118, 99,111,108, 46,122, 47, 50, 53, 53, 46, 48, 44, 32, 49, 
46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,
-117,118, 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 50, 32, 
97,116,116,117,118, 44, 32,111,117,116, 32,118,101, 99,
- 51, 32,117,118, 41, 10,123, 10,  9,117,118, 32, 61, 32,118,101, 99, 51, 40, 
97,116,116,117,118, 42, 50, 46, 48, 32, 45, 32,118,
-101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 44, 32, 48, 46, 48, 41, 
59, 10,125, 10, 10,118,111,105,100, 32,103,101,111,
-109, 40,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,110,111,114, 
44, 32,109, 97,116, 52, 32,118,105,101,119,105,110,
-118,109, 97,116, 44, 32,118,101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 
32,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,
-118,101, 99, 52, 32, 97,116,116,118, 99,111,108, 44, 32,111,117,116, 
32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 44, 32,111,
-117,116, 32,118,101, 99, 51, 32,108,111, 99, 97,108, 44, 32,111,117,116, 
32,118,101, 99, 51, 32,118,105,101,119, 44, 32,111,117,
-116, 32,118,101, 99, 51, 32,111,114, 99,111, 44, 32,111,117,116, 32,118,101, 
99, 51, 32,117,118, 44, 32,111,117,116, 32,118,101,
- 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 52, 
32,118, 99,111,108, 44, 32,111,117,116, 32,102,108,
-111, 97,116, 32,102,114,111,110,116, 98, 97, 99,107, 41, 10,123, 10,  
9,108,111, 99, 97,108, 32, 61, 32, 99,111, 59, 10,  9,118,
-105,101,119, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108,111, 99, 
97,108, 41, 59, 10,  9,103,108,111, 98, 97,108, 32,
- 61, 32, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 
40,108,111, 99, 97,108, 44, 32, 49, 46, 48, 41, 41, 46,
-120,121,122, 59, 10,  9,111,114, 99,111, 32, 61, 32, 97,116,116,111,114, 
99,111, 59, 10,  9,117,118, 95, 97,116,116,114,105, 98,
-117,116,101, 40, 97,116,116,117,118, 44, 32,117,118, 41, 59, 10,  
9,110,111,114,109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,
-108,105,122,101, 40,110,111,114, 41, 59,  9, 47, 42, 32, 
98,108,101,110,100,101,114, 32,114,101,110,100,101,114, 32,110,111,114,
-109, 97,108, 32,105,115, 32,110,101,103, 97,116,101,100, 32, 42, 47, 10,  
9,118, 99,111,108, 95, 97,116,116,114,105, 98,117,116,

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to