diff options
author | Ton Roosendaal <ton@blender.org> | 2006-01-09 03:40:35 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2006-01-09 03:40:35 +0300 |
commit | 014aa7261e29810b35b3d65c759f9d255bf8a277 (patch) | |
tree | 360325f8db9431bdd187c0f0e7f7c40dcaa3a073 /source/blender/imbuf/IMB_imbuf.h | |
parent | 104ab9b103ab30ca87ccb9e739a58863fc29d3bf (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/imbuf/IMB_imbuf.h')
-rw-r--r-- | source/blender/imbuf/IMB_imbuf.h | 37 |
1 files changed, 4 insertions, 33 deletions
diff --git a/source/blender/imbuf/IMB_imbuf.h b/source/blender/imbuf/IMB_imbuf.h index b631ac79a06..aa69e680c35 100644 --- a/source/blender/imbuf/IMB_imbuf.h +++ b/source/blender/imbuf/IMB_imbuf.h @@ -196,31 +196,8 @@ void IMB_freecmapImBuf(struct ImBuf * ibuf); * * @attention Defined in rectop.c */ -void IMB_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); - -/** - * - * @attention Defined in rectop.c - */ -void IMB_rectoptot(struct ImBuf *dbuf, - struct ImBuf *sbuf, - void (*operation)(unsigned int *, unsigned int*, int, int), - int value); - -/** - * - * @attention Defined in rectop.c - */ -void IMB_rectcpy(unsigned int *drect, unsigned int *srect, int x, int dummy); +void IMB_rectcpy(struct ImBuf *drect, struct ImBuf *srect, int destx, + int desty, int srcx, int srcy, int width, int height); /** * Return the length (in frames) of the given @a anim. @@ -360,7 +337,7 @@ void IMB_gamwarp(struct ImBuf *ibuf, double gamma); * * @attention Defined in imageprocess.c */ -void IMB_convert_rgba_to_abgr(int size, unsigned int *rect); +void IMB_convert_rgba_to_abgr(struct ImBuf *ibuf); /** * Change the ordering of the colour bytes pointed to by rect from @@ -495,7 +472,7 @@ void IMB_freezbufImBuf(struct ImBuf * ibuf); * * @attention Defined in rectop.c */ -void IMB_rectfill(unsigned int *drect, unsigned int *srect, int x, int value); +void IMB_rectfill(struct ImBuf *drect, float col[4]); #ifdef WITH_QUICKTIME @@ -513,12 +490,6 @@ void quicktime_exit(void); #endif //WITH_QUICKTIME -/* radhdr: Temporary routine to save directly from render floatbuffer. - Defined in radiance_hdr.c - Called by schrijfplaatje() in toets.c */ -short imb_savehdr_fromfloat(float *fbuf, char *name, int width, int height); - - /* intern/dynlibtiff.c */ void libtiff_exit(void); |