[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55361] branches/ge_harmony/source/blender /gpu: Modifying the prepass shader to make use of the material lib shader.
Daniel Stokes
kupomail at gmail.com
Sun Mar 17 20:23:51 CET 2013
Revision: 55361
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55361
Author: kupoman
Date: 2013-03-17 19:23:51 +0000 (Sun, 17 Mar 2013)
Log Message:
-----------
Modifying the prepass shader to make use of the material lib shader.
Modified Paths:
--------------
branches/ge_harmony/source/blender/gpu/intern/gpu_extensions.c
branches/ge_harmony/source/blender/gpu/shaders/gpu_shader_prepass_frag.glsl
Modified: branches/ge_harmony/source/blender/gpu/intern/gpu_extensions.c
===================================================================
--- branches/ge_harmony/source/blender/gpu/intern/gpu_extensions.c 2013-03-17 19:13:04 UTC (rev 55360)
+++ branches/ge_harmony/source/blender/gpu/intern/gpu_extensions.c 2013-03-17 19:23:51 UTC (rev 55361)
@@ -1596,8 +1596,12 @@
retval = GG.shaders.light;
break;
case GPU_SHADER_PREPASS:
- if (!GG.shaders.prepass)
- GG.shaders.prepass = GPU_shader_create(datatoc_gpu_shader_prepass_vert_glsl, datatoc_gpu_shader_prepass_frag_glsl, NULL, NULL, 0, 0);
+ if (!GG.shaders.prepass) {
+ char *frag = MEM_mallocN(strlen(datatoc_gpu_shader_prepass_frag_glsl) + strlen(datatoc_gpu_shader_material_glsl) + 1, "Prepass fragment shader");
+ sprintf(frag, "%s%s", datatoc_gpu_shader_material_glsl, datatoc_gpu_shader_prepass_frag_glsl);
+ GG.shaders.prepass = GPU_shader_create(datatoc_gpu_shader_prepass_vert_glsl, frag, NULL, NULL, 0, 0);
+ MEM_freeN(frag);
+ }
retval = GG.shaders.prepass;
break;
}
Modified: branches/ge_harmony/source/blender/gpu/shaders/gpu_shader_prepass_frag.glsl
===================================================================
--- branches/ge_harmony/source/blender/gpu/shaders/gpu_shader_prepass_frag.glsl 2013-03-17 19:13:04 UTC (rev 55360)
+++ branches/ge_harmony/source/blender/gpu/shaders/gpu_shader_prepass_frag.glsl 2013-03-17 19:23:51 UTC (rev 55361)
@@ -30,16 +30,9 @@
vec3 data, B;
for (; i < MAX_TEX; i++) {
if (bgl_Textures[i].enabled) {
- data = texture2D(bgl_Textures[i].data, varuv[i].xy).rgb;
- data = 2.0*(data - vec3(0.5, 0.5, 0.5));
-
- B = vartangent.w * cross(varnormal, vartangent.xyz);
- data = data.x*vartangent.xyz + data.y*B + data.z*varnormal;
- data = normalize(data);
-
- normal = data;
- normal = mix(normal, data, 1.0);
- normal = normalize(normal);
+ mtex_normal(varuv[i].xyz, bgl_Textures[i].data, data);
+ mtex_nspace_tangent(vartangent, normal, data, data);
+ mtex_blend_normal(1.0, normal, data, normal);
}
}
More information about the Bf-blender-cvs
mailing list