Revision: 16632
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16632
Author:   ton
Date:     2008-09-20 15:02:06 +0200 (Sat, 20 Sep 2008)

Log Message:
-----------
Patch #8461, by Rob Hausauer

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

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_utildefines.h
    trunk/blender/source/blender/blenkernel/intern/brush.c
    trunk/blender/source/blender/blenkernel/intern/colortools.c
    trunk/blender/source/blender/gpu/intern/gpu_extensions.c
    trunk/blender/source/blender/imbuf/intern/divers.c
    trunk/blender/source/blender/imbuf/intern/rectop.c
    trunk/blender/source/blender/render/intern/source/pipeline.c
    trunk/blender/source/blender/render/intern/source/rendercore.c
    trunk/blender/source/blender/src/glutil.c
    trunk/blender/source/blender/src/renderwin.c
    trunk/blender/source/blender/src/seqscopes.c
    trunk/blender/source/blender/src/writeimage.c

Modified: trunk/blender/source/blender/blenkernel/BKE_utildefines.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_utildefines.h   2008-09-20 
12:28:01 UTC (rev 16631)
+++ trunk/blender/source/blender/blenkernel/BKE_utildefines.h   2008-09-20 
13:02:06 UTC (rev 16632)
@@ -102,6 +102,8 @@
 
 #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);}

Modified: trunk/blender/source/blender/blenkernel/intern/brush.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/brush.c      2008-09-20 
12:28:01 UTC (rev 16631)
+++ trunk/blender/source/blender/blenkernel/intern/brush.c      2008-09-20 
13:02:06 UTC (rev 16632)
@@ -359,7 +359,6 @@
                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)
 {

Modified: trunk/blender/source/blender/blenkernel/intern/colortools.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/colortools.c 2008-09-20 
12:28:01 UTC (rev 16631)
+++ trunk/blender/source/blender/blenkernel/intern/colortools.c 2008-09-20 
13:02:06 UTC (rev 16632)
@@ -650,7 +650,6 @@
        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)
 {

Modified: trunk/blender/source/blender/gpu/intern/gpu_extensions.c
===================================================================
--- trunk/blender/source/blender/gpu/intern/gpu_extensions.c    2008-09-20 
12:28:01 UTC (rev 16631)
+++ trunk/blender/source/blender/gpu/intern/gpu_extensions.c    2008-09-20 
13:02:06 UTC (rev 16632)
@@ -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 @@
        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;

Modified: trunk/blender/source/blender/imbuf/intern/divers.c
===================================================================
--- trunk/blender/source/blender/imbuf/intern/divers.c  2008-09-20 12:28:01 UTC 
(rev 16631)
+++ trunk/blender/source/blender/imbuf/intern/divers.c  2008-09-20 13:02:06 UTC 
(rev 16632)
@@ -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 @@
        }
 }
 
-#define FTOCHAR(val) val<=0.0f?0: (val>=1.0f?255: (char)(255.99f*val))
 
 void IMB_rect_from_float(struct ImBuf *ibuf)
 {

Modified: trunk/blender/source/blender/imbuf/intern/rectop.c
===================================================================
--- trunk/blender/source/blender/imbuf/intern/rectop.c  2008-09-20 12:28:01 UTC 
(rev 16631)
+++ trunk/blender/source/blender/imbuf/intern/rectop.c  2008-09-20 13:02:06 UTC 
(rev 16632)
@@ -37,6 +37,7 @@
 #include "IMB_imbuf.h"
 
 #include "IMB_allocimbuf.h"
+#include "BKE_utildefines.h"
 
 /* blend modes */
 
@@ -514,10 +515,6 @@
        }       
 }
 
-/* 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)
 {

Modified: trunk/blender/source/blender/render/intern/source/pipeline.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/pipeline.c        
2008-09-20 12:28:01 UTC (rev 16631)
+++ trunk/blender/source/blender/render/intern/source/pipeline.c        
2008-09-20 13:02:06 UTC (rev 16632)
@@ -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 @@
        }
 }
 
-#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)
 {

Modified: trunk/blender/source/blender/render/intern/source/rendercore.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/rendercore.c      
2008-09-20 12:28:01 UTC (rev 16631)
+++ trunk/blender/source/blender/render/intern/source/rendercore.c      
2008-09-20 13:02:06 UTC (rev 16632)
@@ -1971,7 +1971,6 @@
 
 /* ************************* bake ************************ */
 
-#define FTOCHAR(val) val<=0.0f?0: (val>=1.0f?255: (char)(255.0f*val))
 
 typedef struct BakeShade {
        ShadeSample ssamp;

Modified: trunk/blender/source/blender/src/glutil.c
===================================================================
--- trunk/blender/source/blender/src/glutil.c   2008-09-20 12:28:01 UTC (rev 
16631)
+++ trunk/blender/source/blender/src/glutil.c   2008-09-20 13:02:06 UTC (rev 
16632)
@@ -290,7 +290,6 @@
        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;

Modified: trunk/blender/source/blender/src/renderwin.c
===================================================================
--- trunk/blender/source/blender/src/renderwin.c        2008-09-20 12:28:01 UTC 
(rev 16631)
+++ trunk/blender/source/blender/src/renderwin.c        2008-09-20 13:02:06 UTC 
(rev 16632)
@@ -426,7 +426,6 @@
        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)
 {

Modified: trunk/blender/source/blender/src/seqscopes.c
===================================================================
--- trunk/blender/source/blender/src/seqscopes.c        2008-09-20 12:28:01 UTC 
(rev 16631)
+++ trunk/blender/source/blender/src/seqscopes.c        2008-09-20 13:02:06 UTC 
(rev 16632)
@@ -384,7 +384,6 @@
        }
 }
 
-#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)
 {

Modified: trunk/blender/source/blender/src/writeimage.c
===================================================================
--- trunk/blender/source/blender/src/writeimage.c       2008-09-20 12:28:01 UTC 
(rev 16631)
+++ trunk/blender/source/blender/src/writeimage.c       2008-09-20 13:02:06 UTC 
(rev 16632)
@@ -80,7 +80,6 @@
 }
 
 
-#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)


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to