[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11765] branches/soc-2007-maike/release/ glsl: The glsl files that should have gone in the last commit
Miguel Torres Lima
torreslima at gmail.com
Tue Aug 21 17:12:09 CEST 2007
Revision: 11765
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11765
Author: maike
Date: 2007-08-21 17:12:09 +0200 (Tue, 21 Aug 2007)
Log Message:
-----------
The glsl files that should have gone in the last commit
Modified Paths:
--------------
branches/soc-2007-maike/release/glsl/fresnel.gsl
branches/soc-2007-maike/release/glsl/light_calc.gsl
branches/soc-2007-maike/release/glsl/material.gsl
branches/soc-2007-maike/release/glsl/material_return.gsl
Added Paths:
-----------
branches/soc-2007-maike/release/glsl/material_return_cb_diff.gsl
branches/soc-2007-maike/release/glsl/material_return_cb_spec.gsl
Modified: branches/soc-2007-maike/release/glsl/fresnel.gsl
===================================================================
--- branches/soc-2007-maike/release/glsl/fresnel.gsl 2007-08-21 13:05:02 UTC (rev 11764)
+++ branches/soc-2007-maike/release/glsl/fresnel.gsl 2007-08-21 15:12:09 UTC (rev 11765)
@@ -1,7 +1,13 @@
float fresneldef(light l, vec3 vnormal, float grad, float fac){
vec3 view = normalize(eye - pos);
float t1 = dot(view, vnormal);
- float t2 = 1.0 + abs(t1);
+ float t2;
+
+ if(fac == 0.0) return(1.0);
+
+ if(t1 > 0.0) t2 = 1.0 + t1;
+ else t2 = 1.0 - t1;
t2 = grad + (1.0 - grad) * pow(t2, fac);
return(clamp(t2, 0.0, 1.0));
}
+
Modified: branches/soc-2007-maike/release/glsl/light_calc.gsl
===================================================================
--- branches/soc-2007-maike/release/glsl/light_calc.gsl 2007-08-21 13:05:02 UTC (rev 11764)
+++ branches/soc-2007-maike/release/glsl/light_calc.gsl 2007-08-21 15:12:09 UTC (rev 11765)
@@ -34,6 +34,7 @@
#ifdef CALC_SPECULAR
#ifdef LIGHT_ID
+
#ifdef HEMI
spec_rslt+= SPEC_SHADER_ID(lights[LIGHT_ID], norm, hard) * spec1 * spec_color * vec3(lights[LIGHT_ID].color) * lights[LIGHT_ID].layer * lights[LIGHT_ID].energy * vis;
#else
@@ -57,7 +58,6 @@
spec_rslt+= rslt2 * spec1 * spec_color * vec3(lights[LIGHT_ID].color) * lights[LIGHT_ID].layer * lights[LIGHT_ID].energy * vis;
#endif
#endif
-
#endif
#endif
Modified: branches/soc-2007-maike/release/glsl/material.gsl
===================================================================
--- branches/soc-2007-maike/release/glsl/material.gsl 2007-08-21 13:05:02 UTC (rev 11764)
+++ branches/soc-2007-maike/release/glsl/material.gsl 2007-08-21 15:12:09 UTC (rev 11765)
@@ -9,11 +9,6 @@
vec3 unnorm = normal;
vec3 norm = normalize(normal);
-#ifdef IS_SHADELESS
- return(diff_color);
-#endif
-#undef IS_SHADELESS
-
if(tanv > 0.0){
norm = -(cross(cross(eye - pos, normal), normal));
}
Modified: branches/soc-2007-maike/release/glsl/material_return.gsl
===================================================================
--- branches/soc-2007-maike/release/glsl/material_return.gsl 2007-08-21 13:05:02 UTC (rev 11764)
+++ branches/soc-2007-maike/release/glsl/material_return.gsl 2007-08-21 15:12:09 UTC (rev 11765)
@@ -1,51 +1,6 @@
-
-#ifdef DIFF_CB_RESULT
-#if LIGHT_CALCULATIONS == 0
-return(vec3(0.0, 0.0, 0.0));
-#else
-if(diff_cb_res > 0.0){
- diff_rslt = amb_exp * (1.0 - exp((diff_rslt + (diff_color * vec3(emit + vert_color.r, emit + vert_color.g, emit + vert_color.b))) * amb_range)) + amb_rslt;
- if(diff_rslt.r >= 0.005 || diff_rslt.g >= 0.005 || diff_rslt.b >= 0.005){
- float diff_cb_rslt_fac = (0.3 * diff_rslt.r + 0.58 * diff_rslt.g + 0.12 * diff_rslt.b);
- vec4 diff_cb_rslt_tex = texture1D(DIFF_CB_TEX, clamp(diff_cb_rslt_fac, 0.0, 0.999));
- diff_rslt = (DIFF_CB_BLEND_FUNC(diff_cb_rslt_tex.rgb, diff_rslt.rgb, DIFF_CB_FAC * diff_cb_rslt_tex.a));
- }
-#ifdef SPEC_CB_RESULT
- if(spec_cb_res > 0.0){
- spec_rslt = amb_exp * (1.0 - exp(spec_rslt * amb_range));
- float spec_cb_rslt_fac = (0.3 * spec_rslt.r + 0.58 * spec_rslt.g + 0.12 * spec_rslt.b);
- vec4 spec_cb_rslt_tex = texture1D(SPEC_CB_TEX, clamp(spec_cb_rslt_fac, 0.0, 0.999));
- spec_rslt = (SPEC_CB_BLEND_FUNC(spec_cb_rslt_tex.rgb, spec_rslt.rgb, SPEC_CB_FAC * spec_cb_rslt_tex.a));
- }
-#else
- spec_rslt = amb_exp * (1.0 - exp(spec_rslt * amb_range));
-#endif
- return(diff_rslt + spec_rslt);
- }
-#endif
-#endif
-#endif
-
-
-#ifdef SPEC_CB_RESULT
-if(spec_cb_res > 0.0){
- spec_rslt = amb_exp * (1.0 - exp(spec_rslt * amb_range));
- float spec_cb_rslt_fac = (0.3 * spec_rslt.r + 0.58 * spec_rslt.g + 0.12 * spec_rslt.b);
- vec4 spec_cb_rslt_tex = texture1D(SPEC_CB_TEX, clamp(spec_cb_rslt_fac, 0.0, 0.999));
- spec_rslt = (SPEC_CB_BLEND_FUNC(spec_cb_rslt_tex.rgb, spec_rslt.rgb, SPEC_CB_FAC * spec_cb_rslt_tex.a));
- diff_rslt = amb_exp * (1.0 - exp((diff_rslt + (diff_color * vec3(emit + vert_color.r, emit + vert_color.g, emit + vert_color.b))) * amb_range));
- return(diff_rslt + spec_rslt + amb_rslt);
- }
-#endif
-#endif
-
-#if LIGHT_CALCULATIONS == 1
diff_rslt = amb_exp * (1.0 - exp((diff_rslt + (diff_color * vec3(emit + vert_color.r, emit + vert_color.g, emit + vert_color.b))) * amb_range));
spec_rslt = amb_exp * (1.0 - exp(spec_rslt * amb_range));
return(diff_rslt + spec_rslt + amb_rslt);
-#else
- return(vec3(0.0, 0.0, 0.0));
-#endif
#undef DIFF_CB_TYPE
#undef SPEC_CB_TYPE
@@ -55,6 +10,4 @@
#undef SPEC_CB_TEX
#undef DIFF_CB_FAC
#undef SPEC_CB_FAC
-#undef DIFF_CB_RESULT
-#undef SPEC_CB_RESULT
}
Added: branches/soc-2007-maike/release/glsl/material_return_cb_diff.gsl
===================================================================
--- branches/soc-2007-maike/release/glsl/material_return_cb_diff.gsl (rev 0)
+++ branches/soc-2007-maike/release/glsl/material_return_cb_diff.gsl 2007-08-21 15:12:09 UTC (rev 11765)
@@ -0,0 +1,32 @@
+#ifdef DIFF_CB_RESULT
+if(diff_cb_res > 0.0){
+ diff_rslt = amb_exp * (1.0 - exp((diff_rslt + (diff_color * vec3(emit + vert_color.r, emit + vert_color.g, emit + vert_color.b))) * amb_range)) + amb_rslt;
+ if(diff_rslt.r >= 0.005 || diff_rslt.g >= 0.005 || diff_rslt.b >= 0.005){
+ float diff_cb_rslt_fac = (0.3 * diff_rslt.r + 0.58 * diff_rslt.g + 0.12 * diff_rslt.b);
+ vec4 diff_cb_rslt_tex = texture1D(DIFF_CB_TEX, clamp(diff_cb_rslt_fac, 0.0, 0.999));
+ diff_rslt = (DIFF_CB_BLEND_FUNC(diff_cb_rslt_tex.rgb, diff_rslt.rgb, DIFF_CB_FAC * diff_cb_rslt_tex.a));
+ }
+#ifdef SPEC_CB_RESULT
+ if(spec_cb_res > 0.0){
+ spec_rslt = amb_exp * (1.0 - exp(spec_rslt * amb_range));
+ float spec_cb_rslt_fac = (0.3 * spec_rslt.r + 0.58 * spec_rslt.g + 0.12 * spec_rslt.b);
+ vec4 spec_cb_rslt_tex = texture1D(SPEC_CB_TEX, clamp(spec_cb_rslt_fac, 0.0, 0.999));
+ spec_rslt = (SPEC_CB_BLEND_FUNC(spec_cb_rslt_tex.rgb, spec_rslt.rgb, SPEC_CB_FAC * spec_cb_rslt_tex.a));
+ }
+#else
+ spec_rslt = amb_exp * (1.0 - exp(spec_rslt * amb_range));
+#endif
+ return(diff_rslt + spec_rslt);
+ }
+#endif
+#endif
+}
+
+#undef DIFF_CB_BLEND_FUNC
+#undef SPEC_CB_BLEND_FUNC
+#undef DIFF_CB_TEX
+#undef SPEC_CB_TEX
+#undef DIFF_CB_FAC
+#undef SPEC_CB_FAC
+#undef DIFF_CB_RESULT
+#undef SPEC_CB_RESULT
Added: branches/soc-2007-maike/release/glsl/material_return_cb_spec.gsl
===================================================================
--- branches/soc-2007-maike/release/glsl/material_return_cb_spec.gsl (rev 0)
+++ branches/soc-2007-maike/release/glsl/material_return_cb_spec.gsl 2007-08-21 15:12:09 UTC (rev 11765)
@@ -0,0 +1,20 @@
+#ifdef SPEC_CB_RESULT
+if(spec_cb_res > 0.0){
+ spec_rslt = amb_exp * (1.0 - exp(spec_rslt * amb_range));
+ float spec_cb_rslt_fac = (0.3 * spec_rslt.r + 0.58 * spec_rslt.g + 0.12 * spec_rslt.b);
+ vec4 spec_cb_rslt_tex = texture1D(SPEC_CB_TEX, clamp(spec_cb_rslt_fac, 0.0, 0.999));
+ spec_rslt = (SPEC_CB_BLEND_FUNC(spec_cb_rslt_tex.rgb, spec_rslt.rgb, SPEC_CB_FAC * spec_cb_rslt_tex.a));
+ diff_rslt = amb_exp * (1.0 - exp((diff_rslt + (diff_color * vec3(emit + vert_color.r, emit + vert_color.g, emit + vert_color.b))) * amb_range));
+ return(diff_rslt + spec_rslt + amb_rslt);
+ }
+#endif
+}
+
+#undef DIFF_CB_BLEND_FUNC
+#undef SPEC_CB_BLEND_FUNC
+#undef DIFF_CB_TEX
+#undef SPEC_CB_TEX
+#undef DIFF_CB_FAC
+#undef SPEC_CB_FAC
+#undef DIFF_CB_RESULT
+#undef DIFF_CB_TYPE
More information about the Bf-blender-cvs
mailing list