Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2006-01-09 03:40:35 +0300
committerTon Roosendaal <ton@blender.org>2006-01-09 03:40:35 +0300
commit014aa7261e29810b35b3d65c759f9d255bf8a277 (patch)
tree360325f8db9431bdd187c0f0e7f7c40dcaa3a073 /source/blender/blenpluginapi
parent104ab9b103ab30ca87ccb9e739a58863fc29d3bf (diff)
Orange branch: OpenEXR finally in Blender!
Credits go to Gernot Ziegler, who originally coded EXR support, and to Austin Benesh for bringing it further. Kent Mein provided a lot of code for integrating float buffers in Blender imbuf and ImBuf API cleanup, and provided Make and Scons and static linking. At this moment; the EXR libraries are a *dependency*, so you cannot get the Orange branch compiled without having OpenEXR installed. Get the (precompiled or sources) stuff from www.openexr.com. Current default is that the headers and lib resides in /user/local/ Several changes/additions/fixes were added: - EXR code only supported 'half' format (16 bits per channel). I've added float writing, but for reading it I need tomorrow. :) - Quite some clumsy copying of data happened in EXR code. - cleaned up the api calls already a bit, preparing for more advanced support - Zbuffers were saved 16 bits, now 32 bits - automatic adding of .exr extensions went wrong Imbuf: - added proper imbuf->flags and imbuf->mall support for float buffers, it was created for *each* imbuf. :) - found bugs for float buffers in scaling and flipping. Code there will need more checks still - imbuf also needs to be verified to behave properly when no 32 bits rect exists (for saving for example) TODO: - support internal float images for textures, backbuf, AO probes, and display in Image window Hope this commit won't screwup syncing with bf-blender... :/
Diffstat (limited to 'source/blender/blenpluginapi')
-rw-r--r--source/blender/blenpluginapi/iff.h23
-rw-r--r--source/blender/blenpluginapi/intern/pluginapi.c21
2 files changed, 19 insertions, 25 deletions
diff --git a/source/blender/blenpluginapi/iff.h b/source/blender/blenpluginapi/iff.h
index 4fa3e0214fa..456291e664b 100644
--- a/source/blender/blenpluginapi/iff.h
+++ b/source/blender/blenpluginapi/iff.h
@@ -44,10 +44,16 @@
#define IB_zbuf (1 << 13)
#define IB_rgba (1 << 14)
-#define AMI (1 << 31)
-#define Anim (1 << 29)
-#define TGA (1 << 28)
-#define JPG (1 << 27)
+#define AMI (1 << 31)
+#define PNG (1 << 30)
+#define Anim (1 << 29)
+#define TGA (1 << 28)
+#define JPG (1 << 27)
+#define BMP (1 << 26)
+#ifdef WITH_QUICKTIME
+#define QUICKTIME (1 << 25)
+#endif
+#define RADHDR (1<<24)
#define RAWTGA (TGA | 1)
@@ -90,6 +96,7 @@
#define IS_amiga(x) (x->ftype & AMI)
#define IS_ham(x) ((x->ftype & AM_ham) == AM_ham)
#define IS_hbrite(x) ((x->ftype & AM_hbrite) == AM_hbrite)
+
#define IS_lace(x) ((x->ftype & AM_lace) == AM_lace)
#define IS_hires(x) ((x->ftype & AM_hires) == AM_hires)
#define IS_hblace(x) ((x->ftype & AM_hblace) == AM_hblace)
@@ -98,9 +105,14 @@
#define IS_anim(x) (x->ftype & Anim)
#define IS_hamx(x) (x->ftype == AN_hamx)
-
#define IS_tga(x) (x->ftype & TGA)
+#define IS_png(x) (x->ftype & PNG)
+#define IS_bmp(x) (x->ftype & BMP)
+#define IS_radhdr(x) (x->ftype & RADHDR)
#define IS_tim(x) (x->ftype & TIM)
+#define IS_tiff(x) (x->ftype & TIFF)
+#define IS_openexr(x) (x->ftype & OPENEXR)
+
#define IMAGIC 0732
#define IS_iris(x) (x->ftype == IMAGIC)
@@ -136,6 +148,7 @@ typedef struct ImBuf{
unsigned char *encodedbuffer;
unsigned int encodedsize;
unsigned int encodedbuffersize;
+ float *rect_float;
} ImBuf;
extern struct ImBuf *allocImBuf(short,short,uchar,uint,uchar);
diff --git a/source/blender/blenpluginapi/intern/pluginapi.c b/source/blender/blenpluginapi/intern/pluginapi.c
index aefd8d3f458..bb64e9caa8f 100644
--- a/source/blender/blenpluginapi/intern/pluginapi.c
+++ b/source/blender/blenpluginapi/intern/pluginapi.c
@@ -41,10 +41,6 @@
* - util.h : Useful defines, memory management.
*/
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
#ifdef WIN32
#include "blenpluginapi\util.h"
#else
@@ -250,20 +246,6 @@ void de_interlace(struct ImBuf *ib)
IMB_de_interlace(ib);
}
-void rectop(struct ImBuf *dbuf,
- struct ImBuf *sbuf,
- int destx,
- int desty,
- int srcx,
- int srcy,
- int width,
- int height,
- void (*operation)(unsigned int *, unsigned int*, int, int),
- int value)
-{
- IMB_rectop(dbuf, sbuf, destx, desty, srcx, srcy, width, height, operation, value);
-}
-
/* -------------------------------------------------------------------------- */
/* stuff from plugin.h */
/* -------------------------------------------------------------------------- */
@@ -354,6 +336,5 @@ int pluginapi_force_ref(void)
(int) turbulence1 +
(int) de_interlace +
(int) interlace +
- (int) gamwarp +
- (int) rectop;
+ (int) gamwarp;
}