Hi,

Let's repeat an important commit rule:

Always make sure you have permission of the maintainer(s) of code you  
commit in.

-Ton-

------------------------------------------------------------------------
Ton Roosendaal  Blender Foundation   [email protected]    www.blender.org
Blender Institute   Entrepotdok 57A  1018AD Amsterdam   The Netherlands

On 6 Aug, 2010, at 19:57, Brecht Van Lommel wrote:

> This should have been reviewed before committing. I can see various
> problems quickly scanning over the code...
>
> On Fri, Aug 6, 2010 at 7:42 PM, Tom Musgrove <[email protected]>  
> wrote:
>> Revision: 31116
>>          
>> http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31116
>> Author:   letterrip
>> Date:     2010-08-06 19:42:47 +0200 (Fri, 06 Aug 2010)
>>
>> Log Message:
>> -----------
>> Committing Konrads GLSL preview of bumpmapping, now we no longer  
>> have the bizarre situation of being able to view the changes of the  
>> normal map but not of regular bump mapping
>>
>> 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       
>> 2010-08-06 17:41:45 UTC (rev 31115)
>> +++ trunk/blender/source/blender/gpu/intern/gpu_material.c       
>> 2010-08-06 17:42:47 UTC (rev 31116)
>> @@ -48,6 +48,7 @@
>>  #include "BKE_colortools.h"
>>  #include "BKE_DerivedMesh.h"
>>  #include "BKE_global.h"
>> +#include "BKE_image.h"
>>  #include "BKE_main.h"
>>  #include "BKE_node.h"
>>  #include "BKE_scene.h"
>> @@ -60,6 +61,9 @@
>>  #include "GPU_extensions.h"
>>  #include "GPU_material.h"
>>
>> +#include "IMB_imbuf.h"
>> +#include "IMB_imbuf_types.h"
>> +
>>  #include "gpu_codegen.h"
>>
>>  #include <string.h>
>> @@ -893,8 +897,10 @@
>>        GPUNodeLink *texco_global, *texco_uv = NULL;
>>        GPUNodeLink *newnor, *orn;
>>        char *lastuvname = NULL;
>> -       float one = 1.0f, norfac, ofs[3];
>> +       float one = 1.0f, norfac, ofs[3], texsize[2];
>>        int tex_nr, rgbnor, talpha;
>> +       void *lock;
>> +       ImBuf *ibuf;
>>
>>        GPU_link(mat, "set_value", GPU_uniform(&one), &stencil);
>>
>> @@ -960,7 +966,46 @@
>>                        rgbnor = 0;
>>
>>                        if(tex && tex->type == TEX_IMAGE && tex- 
>> >ima) {
>> -                               GPU_link(mat, "mtex_image", texco,  
>> GPU_image(tex->ima, &tex->iuser), &tin, &trgb, &tnor);
>> +                               ibuf= BKE_image_acquire_ibuf(tex- 
>> >ima, NULL, &lock);
>> +                               if (ibuf) {
>> +                                       texsize[0] = ibuf->x;
>> +                                       texsize[1] = ibuf->y;
>> +                               }
>> +                               else
>> +                               {
>> +                                       texsize[0] = 0;
>> +                                       texsize[1] = 0;
>> +                               }
>> +                               BKE_image_release_ibuf(tex->ima,  
>> lock);
>> +                               if(mtex->mapto & MAP_NORM && (tex- 
>> >imaflag & TEX_NORMALMAP)==0) {
>> +                                       GPU_link(mat,  
>> "mtex_height_to_normal", texco, GPU_image(tex->ima, &tex->iuser),  
>> GPU_uniform(texsize), &tin, &trgb, &tnor);
>> +
>> +                                       if(mtex->norfac < 0.0f)
>> +                                               GPU_link(mat,  
>> "mtex_negate_texnormal", tnor, &tnor);
>> +
>> +                                       if(mtex->normapspace ==  
>> MTEX_NSPACE_TANGENT)
>> +                                               GPU_link(mat,  
>> "mtex_nspace_tangent", GPU_attribute(CD_TANGENT, ""), shi->vn,  
>> tnor, &newnor);
>> +                                       else
>> +                                               newnor = tnor;
>> +
>> +                                       /* norfac = MIN2(fabsf(mtex- 
>> >norfac), 1.0); */
>> +                                       norfac = fabsf(mtex- 
>> >norfac); /* To not limit bumps to [-1, 1]. */
>> +                                       if(norfac == 1.0f && ! 
>> GPU_link_changed(stencil)) {
>> +                                               shi->vn = newnor;
>> +                                       }
>> +                                       else {
>> +                                               tnorfac =  
>> GPU_uniform(&norfac);
>> +
>> +                                                
>> if(GPU_link_changed(stencil))
>> +                                                        
>> GPU_link(mat, "math_multiply", tnorfac, stencil, &tnorfac);
>> +
>> +                                               GPU_link(mat,  
>> "mtex_blend_normal", tnorfac, shi->vn, newnor, &shi->vn);
>> +                                       }
>> +
>> +                               }
>> +                               else {
>> +                                       GPU_link(mat, "mtex_image",  
>> texco, GPU_image(tex->ima, &tex->iuser), &tin, &trgb, &tnor);
>> +                               }
>>                                rgbnor= TEX_RGB;
>>
>>                                if(tex->imaflag & TEX_USEALPHA)
>>
>> Modified: trunk/blender/source/blender/gpu/intern/ 
>> gpu_shader_material.glsl
>> ===================================================================
>> --- trunk/blender/source/blender/gpu/intern/ 
>> gpu_shader_material.glsl    2010-08-06 17:41:45 UTC (rev 31115)
>> +++ trunk/blender/source/blender/gpu/intern/ 
>> gpu_shader_material.glsl    2010-08-06 17:42:47 UTC (rev 31116)
>> @@ -1098,6 +1098,37 @@
>>        normal = 2.0*(vec3(color.r, -color.g, color.b) - vec3(0.5,  
>> -0.5, 0.5));
>>  }
>>
>> +/*
>> +       Helper function for on the fly normal map generation from  
>> height map.
>> +*/
>> +void mtex_h2n_rgb2float(vec4 color, out float outval)
>> +{
>> +       float scale = 1.0;
>> +       outval = (color.r + color.g + color .b) / 3.0 * scale;
>> +}
>> +
>> +/*
>> +       On the fly normal map generation from bump map.
>> +
>> +       This is replacement for mtex_image which generates the  
>> normal value from a height value.
>> +       It is inspired by The GIMP normal map plugin. I took the  
>> explicit algorithm and
>> +       streamlined it to fit implicit GPU computation.
>> +*/
>> +void mtex_height_to_normal(vec3 texcoord, sampler2D image, vec2  
>> texsize, out float value, out vec4 color, out vec3 normal)
>> +{
>> +       float down, up, right, left;
>> +       /*texsize.xy = textureSize2D(image, 0);*/
>> +
>> +       mtex_h2n_rgb2float( texture2D(image, texcoord.st+vec2(0,1)/ 
>> texsize.xy), down );
>> +       mtex_h2n_rgb2float( texture2D(image, texcoord.st+vec2(0,-1)/ 
>> texsize.xy), up );
>> +       mtex_h2n_rgb2float( texture2D(image, texcoord.st+vec2(1,0)/ 
>> texsize.xy), right );
>> +       mtex_h2n_rgb2float( texture2D(image, texcoord.st+vec2(-1,0)/ 
>> texsize.xy), left );
>> +
>> +       normal = normalize(vec3(left - right, down - up, 1.0));
>> +       color = texture2D(image, texcoord.xy);
>> +       value = 1.0;
>> +}
>> +
>>  void mtex_negate_texnormal(vec3 normal, out vec3 outnormal)
>>  {
>>        outnormal = vec3(-normal.x, -normal.y, normal.z);
>>
>> Modified: trunk/blender/source/blender/gpu/intern/ 
>> gpu_shader_material.glsl.c
>> ===================================================================
>> --- trunk/blender/source/blender/gpu/intern/ 
>> gpu_shader_material.glsl.c  2010-08-06 17:41:45 UTC (rev 31115)
>> +++ trunk/blender/source/blender/gpu/intern/ 
>> gpu_shader_material.glsl.c  2010-08-06 17:42:47 UTC (rev 31116)
>> @@ -1,723 +1,758 @@
>>  /* DataToC output of file <gpu_shader_material_glsl> */
>>
>> -int datatoc_gpu_shader_material_glsl_size= 34245;
>> +int datatoc_gpu_shader_material_glsl_size= 35374;
>>  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,102,108,111, 97,116, 32,115,114,103, 98,  
>> 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,102,108,
>> -111, 97,116, 32, 99, 41, 10,123, 10,  9,105,102, 40, 99, 32, 60,  
>> 32, 48, 46, 48, 52, 48, 52, 53, 41, 10,  9,  9,114,101,116,117,
>> -114,110, 32, 40, 99, 32, 60, 32, 48, 46, 48, 41, 63, 32, 48, 46,  
>> 48, 58, 32, 99, 32, 42, 32, 40, 49, 46, 48, 47, 49, 50, 46, 57,
>> - 50, 41, 59, 10,  9,101,108,115,101, 10,  9,   
>> 9,114,101,116,117,114,110, 32,112,111,119, 40, 40, 99, 32, 43, 32,  
>> 48, 46, 48, 53,
>>
>> @@ Diff output truncated at 10240 characters. @@
>>
>> _______________________________________________
>> Bf-blender-cvs mailing list
>> [email protected]
>> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>>
> _______________________________________________
> Bf-committers mailing list
> [email protected]
> http://lists.blender.org/mailman/listinfo/bf-committers
>

_______________________________________________
Bf-committers mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-committers

Reply via email to