Orange branch: OpenEXR finally in Blender!
authorTon Roosendaal <ton@blender.org>
Mon, 9 Jan 2006 00:40:35 +0000 (00:40 +0000)
committerTon Roosendaal <ton@blender.org>
Mon, 9 Jan 2006 00:40:35 +0000 (00:40 +0000)
commit014aa7261e29810b35b3d65c759f9d255bf8a277
tree360325f8db9431bdd187c0f0e7f7c40dcaa3a073
parent104ab9b103ab30ca87ccb9e739a58863fc29d3bf
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... :/
53 files changed:
source/blender/SConscript
source/blender/blenkernel/BKE_global.h
source/blender/blenkernel/intern/Makefile
source/blender/blenkernel/intern/image.c
source/blender/blenkernel/intern/writeavi.c
source/blender/blenlib/intern/util.c
source/blender/blenpluginapi/iff.h
source/blender/blenpluginapi/intern/pluginapi.c
source/blender/imbuf/IMB_imbuf.h
source/blender/imbuf/IMB_imbuf_types.h
source/blender/imbuf/SConscript
source/blender/imbuf/intern/IMB_allocimbuf.h
source/blender/imbuf/intern/Makefile
source/blender/imbuf/intern/allocimbuf.c
source/blender/imbuf/intern/amiga.c
source/blender/imbuf/intern/anim.c
source/blender/imbuf/intern/anim5.c
source/blender/imbuf/intern/bitplanes.c
source/blender/imbuf/intern/divers.c
source/blender/imbuf/intern/filter.c
source/blender/imbuf/intern/imageprocess.c
source/blender/imbuf/intern/iris.c
source/blender/imbuf/intern/jpeg.c
source/blender/imbuf/intern/openexr/Makefile [new file with mode: 0644]
source/blender/imbuf/intern/openexr/SConscript [new file with mode: 0644]
source/blender/imbuf/intern/openexr/openexr_api.cpp [new file with mode: 0644]
source/blender/imbuf/intern/openexr/openexr_api.h [new file with mode: 0644]
source/blender/imbuf/intern/radiance_hdr.c
source/blender/imbuf/intern/readimage.c
source/blender/imbuf/intern/rectop.c
source/blender/imbuf/intern/rotate.c
source/blender/imbuf/intern/scaling.c
source/blender/imbuf/intern/targa.c
source/blender/imbuf/intern/tiff.c
source/blender/imbuf/intern/util.c
source/blender/imbuf/intern/writeimage.c
source/blender/include/butspace.h
source/blender/makesdna/DNA_scene_types.h
source/blender/render/intern/source/envmap.c
source/blender/render/intern/source/initrender.c
source/blender/src/Makefile
source/blender/src/buttons_scene.c
source/blender/src/editface.c
source/blender/src/editmesh_mods.c
source/blender/src/filesel.c
source/blender/src/imasel.c
source/blender/src/interface_icons.c
source/blender/src/screendump.c
source/blender/src/sequence.c
source/blender/src/toets.c
source/blender/src/vpaint.c
source/blender/src/writeimage.c
source/blender/src/writemovie.c