[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [22351] branches/blender2.5/blender/source /blender/blenkernel/intern/colortools.c: 2.5: Small optimization in color management code to avoid doing
Brecht Van Lommel
brecht at blender.org
Mon Aug 10 22:17:11 CEST 2009
Revision: 22351
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=22351
Author: blendix
Date: 2009-08-10 22:17:11 +0200 (Mon, 10 Aug 2009)
Log Message:
-----------
2.5: Small optimization in color management code to avoid doing
computation with doubles instead of floats, about 2x faster.
Modified Paths:
--------------
branches/blender2.5/blender/source/blender/blenkernel/intern/colortools.c
Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/colortools.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/colortools.c 2009-08-10 19:51:37 UTC (rev 22350)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/colortools.c 2009-08-10 20:17:11 UTC (rev 22351)
@@ -68,33 +68,33 @@
void gamma_correct_rec709(float *c, float gamma)
{
/* Rec. 709 gamma correction. */
- float cc = 0.018f;
+ const float cc = 0.018f;
if (*c < cc)
- *c *= ((1.099f * (float)pow(cc, gamma)) - 0.099f) / cc;
+ *c *= ((1.099f * (float)powf(cc, gamma)) - 0.099f) * (1.0f/cc);
else
- *c = (1.099f * (float)pow(*c, gamma)) - 0.099f;
+ *c = (1.099f * (float)powf(*c, gamma)) - 0.099f;
}
void gamma_correct(float *c, float gamma)
{
- *c = pow((*c), gamma);
+ *c = powf((*c), gamma);
}
float srgb_to_linearrgb(float c)
{
if (c < 0.04045f)
- return (c < 0.f)?0.f:c / 12.92;
+ return (c < 0.0f)? 0.0f: c*(1.0f/12.92f);
else
- return pow((c + 0.055)/1.055, 2.4);
+ return powf((c + 0.055f)*(1.0f/1.055f), 2.4f);
}
float linearrgb_to_srgb(float c)
{
- if (c < 0.0031308)
- return (c < 0.f)?0.f:c * 12.92;
+ if (c < 0.0031308f)
+ return (c < 0.0f)? 0.0f: c * 12.92f;
else
- return 1.055 * pow(c, 1.0/2.4) - 0.055;
+ return 1.055f * powf(c, 1.0f/2.4f) - 0.055f;
}
/* utility function convert an RGB triplet from sRGB to linear RGB color space */
More information about the Bf-blender-cvs
mailing list