[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57827] trunk/blender/intern/cycles/kernel /closure: Cycles / Ramp closures:
Thomas Dinges
blender at dingto.org
Thu Jun 27 18:08:07 CEST 2013
Revision: 57827
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57827
Author: dingto
Date: 2013-06-27 16:08:06 +0000 (Thu, 27 Jun 2013)
Log Message:
-----------
Cycles / Ramp closures:
* Fix crash with negative values in Phong Ramp, and add some checks to survive INF and NAN values.
Patch by Brecht and myself.
Modified Paths:
--------------
trunk/blender/intern/cycles/kernel/closure/bsdf_diffuse_ramp.h
trunk/blender/intern/cycles/kernel/closure/bsdf_phong_ramp.h
Modified: trunk/blender/intern/cycles/kernel/closure/bsdf_diffuse_ramp.h
===================================================================
--- trunk/blender/intern/cycles/kernel/closure/bsdf_diffuse_ramp.h 2013-06-27 15:53:53 UTC (rev 57826)
+++ trunk/blender/intern/cycles/kernel/closure/bsdf_diffuse_ramp.h 2013-06-27 16:08:06 UTC (rev 57827)
@@ -41,6 +41,8 @@
float npos = pos * (float)(MAXCOLORS - 1);
int ipos = float_to_int(npos);
+ if (ipos < 0)
+ return colors[0];
if (ipos >= (MAXCOLORS - 1))
return colors[MAXCOLORS - 1];
float offset = npos - (float)ipos;
Modified: trunk/blender/intern/cycles/kernel/closure/bsdf_phong_ramp.h
===================================================================
--- trunk/blender/intern/cycles/kernel/closure/bsdf_phong_ramp.h 2013-06-27 15:53:53 UTC (rev 57826)
+++ trunk/blender/intern/cycles/kernel/closure/bsdf_phong_ramp.h 2013-06-27 16:08:06 UTC (rev 57827)
@@ -41,6 +41,8 @@
float npos = pos * (float)(MAXCOLORS - 1);
int ipos = float_to_int(npos);
+ if (ipos < 0)
+ return colors[0];
if (ipos >= (MAXCOLORS - 1))
return colors[MAXCOLORS - 1];
float offset = npos - (float)ipos;
@@ -49,6 +51,8 @@
__device int bsdf_phong_ramp_setup(ShaderClosure *sc)
{
+ sc->data0 = max(sc->data0, 0.0f);
+
sc->type = CLOSURE_BSDF_PHONG_RAMP_ID;
return SD_BSDF | SD_BSDF_HAS_EVAL | SD_BSDF_GLOSSY;
}
More information about the Bf-blender-cvs
mailing list