Patch #8461, by Rob Hausauer
authorTon Roosendaal <ton@blender.org>
Sat, 20 Sep 2008 13:02:06 +0000 (13:02 +0000)
committerTon Roosendaal <ton@blender.org>
Sat, 20 Sep 2008 13:02:06 +0000 (13:02 +0000)
This unifies all usage of FTOCHAR, putting it in utildefines.h
Submitter did several interesting tests for speed, check it here:
http://projects.blender.org/tracker/?func=detail&atid=127&aid=8461&group_id=9

12 files changed:
source/blender/blenkernel/BKE_utildefines.h
source/blender/blenkernel/intern/brush.c
source/blender/blenkernel/intern/colortools.c
source/blender/gpu/intern/gpu_extensions.c
source/blender/imbuf/intern/divers.c
source/blender/imbuf/intern/rectop.c
source/blender/render/intern/source/pipeline.c
source/blender/render/intern/source/rendercore.c
source/blender/src/glutil.c
source/blender/src/renderwin.c
source/blender/src/seqscopes.c
source/blender/src/writeimage.c

index d647a74c6e282f7b943c2f8cd98e990387b9a8fc..9662d6fbff86fa0de638490feaf750ce45209ee5 100644 (file)
 
 #define AVG2(x, y)             ( 0.5 * ((x) + (y)) )
 
+#define FTOCHAR(val) (val<=0.0f)? 0 : ((val>(1.0f-0.5f/255.0f))? 255 : (char)((255.0f*val)+0.5f))
+
 #define VECCOPY(v1,v2)          {*(v1)= *(v2); *(v1+1)= *(v2+1); *(v1+2)= *(v2+2);}
 #define VECCOPY2D(v1,v2)          {*(v1)= *(v2); *(v1+1)= *(v2+1);}
 #define QUATCOPY(v1,v2)         {*(v1)= *(v2); *(v1+1)= *(v2+1); *(v1+2)= *(v2+2); *(v1+3)= *(v2+3);}
index 6ea470a2263d803932ce34ed288a0941304ee904..1c53af97dbb86a2f52eb0e54170463a53f89a9fa 100644 (file)
@@ -359,7 +359,6 @@ void brush_sample_tex(Brush *brush, float *xy, float *rgba)
                rgba[0]= rgba[1]= rgba[2]= rgba[3]= 1.0f;
 }
 
-#define FTOCHAR(val) val<=0.0f?0: (val>=1.0f?255: (char)(255.0f*val))
 
 void brush_imbuf_new(Brush *brush, short flt, short texfall, int size, ImBuf **outbuf)
 {
index 45b8bb7935cbbf32a5b11da0d7cf98a699cc64de..1bc34aea9a135896dab31ad276db682ba8a10372 100644 (file)
@@ -650,7 +650,6 @@ void curvemapping_evaluate_premulRGBF(CurveMapping *cumap, float *vecout, const
        vecout[2]= curvemap_evaluateF(cumap->cm+2, fac);
 }
 
-#define FTOCHAR(val) val<=0.0f?0: (val>=1.0f?255: (char)(255.0f*val))
 
 void curvemapping_do_ibuf(CurveMapping *cumap, ImBuf *ibuf)
 {
index 10603aa72834953813d051a16fa21ef8f41ea9ef..a8dc369460cd656c1d1270116d832c046decb9ff 100644 (file)
@@ -40,6 +40,7 @@
 
 #include "BKE_image.h"
 #include "BKE_global.h"
+#include "BKE_utildefines.h"
 
 #include "IMB_imbuf.h"
 #include "IMB_imbuf_types.h"
@@ -154,7 +155,6 @@ struct GPUTexture {
        int depth;                              /* is a depth texture? */
 };
 
-#define FTOCHAR(val) val<=0.0f?0: (val>=1.0f?255: (char)(255.0f*val))
 static unsigned char *GPU_texture_convert_pixels(int length, float *fpixels)
 {
        unsigned char *pixels, *p;
index 84588b52573a1bfa31d34c78c3c6fe972e6d150b..8043e594454427d814f48889f2b11b9181ac10c6 100644 (file)
@@ -38,6 +38,7 @@
 #include "IMB_imbuf.h"
 #include "IMB_allocimbuf.h"
 #include "IMB_divers.h"
+#include "BKE_utildefines.h"
 
 void imb_checkncols(struct ImBuf *ibuf)
 {
@@ -171,7 +172,6 @@ void IMB_gamwarp(struct ImBuf *ibuf, double gamma)
        }
 }
 
-#define FTOCHAR(val) val<=0.0f?0: (val>=1.0f?255: (char)(255.99f*val))
 
 void IMB_rect_from_float(struct ImBuf *ibuf)
 {
index a8ddb271309180417c9f6c44274ed23eb20ebac9..56714c3b481850e00642ead9a9df110270f4270a 100644 (file)
@@ -37,6 +37,7 @@
 #include "IMB_imbuf.h"
 
 #include "IMB_allocimbuf.h"
+#include "BKE_utildefines.h"
 
 /* blend modes */
 
@@ -514,10 +515,6 @@ void IMB_rectfill(struct ImBuf *drect, float col[4])
        }       
 }
 
-/* maybe we should use BKE_utildefines.h */
-#define FTOCHAR(val) (val<=0.0f ? 0: (val>=1.0f ? 255: (char)(255.99f*val)))
-#define CLAMP(a, b, c)         if((a)<(b)) (a)=(b); else if((a)>(c)) (a)=(c)
-#define SWAP(type, a, b)        { type sw_ap; sw_ap=(a); (a)=(b); (b)=sw_ap; }
 
 void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height, float *col, int x1, int y1, int x2, int y2)
 {
index 9d272d045065dc83aea52d15c97cfa9c54503389..6bdd57612c7ccd34d23169627cce223f6e3d9ced 100644 (file)
@@ -38,6 +38,7 @@
 #include "DNA_scene_types.h"
 #include "DNA_userdef_types.h"
 
+#include "BKE_utildefines.h"
 #include "BKE_global.h"
 #include "BKE_image.h"
 #include "BKE_main.h"
@@ -961,7 +962,6 @@ void RE_GetResultImage(Render *re, RenderResult *rr)
        }
 }
 
-#define FTOCHAR(val) val<=0.0f?0: (val>=1.0f?255: (char)(255.0f*val))
 /* caller is responsible for allocating rect in correct size! */
 void RE_ResultGet32(Render *re, unsigned int *rect)
 {
index bda02bea8d7a832c44d74c851a25ec570f21fe93..3992d1025ffede5983d43e9ae7e010988a89569f 100644 (file)
@@ -1971,7 +1971,6 @@ void RE_shade_external(Render *re, ShadeInput *shi, ShadeResult *shr)
 
 /* ************************* bake ************************ */
 
-#define FTOCHAR(val) val<=0.0f?0: (val>=1.0f?255: (char)(255.0f*val))
 
 typedef struct BakeShade {
        ShadeSample ssamp;
index 69e3d4c7aac25b2907a133fce02d468bece21a9b..69a44aff1e467a034d1951f936b06fe3ecae0c64 100644 (file)
@@ -290,7 +290,6 @@ static int get_cached_work_texture(int *w_r, int *h_r)
        return texid;
 }
 
-#define FTOCHAR(val) val<=0.0f?0: (val>=1.0f?255: (char)(255.0f*val))
 void glaDrawPixelsTex(float x, float y, int img_w, int img_h, int format, void *rect)
 {
        float *f_rect;
index 598b71930ed63bcf4f5df9c6a1144cf3912eeb96..b4d78b7fa37ad78691332e176e52d1616d4f6060 100644 (file)
@@ -426,7 +426,6 @@ static void renderwin_zoom(RenderWin *rw, int ZoomIn) {
        renderwin_queue_redraw(rw);
 }
 
-#define FTOCHAR(val) val<=0.0f? 0 : (val>=(1.0f-0.5f/255.0f)? 255 :(char)((255.0f*val)+0.5f))
 
 static void renderwin_mouse_moved(RenderWin *rw)
 {
index 34cd27dfdd348c4faa7768511542792cfafc6ec6..553752c0676da9da37182f4acdccdbe09c80aa15 100644 (file)
@@ -384,7 +384,6 @@ static void draw_zebra_byte(struct ImBuf * src,struct ImBuf * ibuf, float perc)
        }
 }
 
-#define FTOCHAR(val) val<=0.0f?0: (val>=1.0f?255: (char)(255.99f*val))
 
 static void draw_zebra_float(struct ImBuf * src,struct ImBuf * ibuf,float perc)
 {
index 1ef32fc33e87f67774e9466243a586c94318714a..b21c14bed35c47157a8802f6b617cd7c8f28e1c9 100644 (file)
@@ -80,7 +80,6 @@ void BIF_save_envmap(EnvMap *env, char *str)
 }
 
 
-#define FTOCHAR(val) val<=0.0f?255: 255-(val>=255.0f?255: (char)(val))
 
 /* callback for fileselect to save rendered image, renderresult was checked to exist */
 static void save_rendered_image_cb_real(char *name, int confirm)