2004-05-16 13:07:20 +00:00
|
|
|
#!/usr/bin/python
|
2006-02-04 14:15:10 +00:00
|
|
|
Import ('env')
|
2004-02-29 21:40:48 +00:00
|
|
|
|
2006-02-04 14:15:10 +00:00
|
|
|
sources = env.Glob('intern/*.c')
|
2004-01-04 21:11:59 +00:00
|
|
|
|
2006-02-05 19:23:34 +00:00
|
|
|
incs = '. ../makesdna #/intern/guardedalloc #/intern/memutil ../blenlib'
|
2008-11-11 14:14:22 +00:00
|
|
|
incs += ' ../avi ../blenkernel'
|
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... :/
2006-01-09 00:40:35 +00:00
|
|
|
|
2006-02-04 14:15:10 +00:00
|
|
|
incs += ' ' + env['BF_JPEG_INC']
|
|
|
|
|
incs += ' ' + env['BF_PNG_INC']
|
|
|
|
|
incs += ' ' + env['BF_TIFF_INC']
|
|
|
|
|
incs += ' ' + env['BF_ZLIB_INC']
|
2004-01-04 21:11:59 +00:00
|
|
|
|
2006-02-04 14:15:10 +00:00
|
|
|
defs = []
|
2004-01-04 21:11:59 +00:00
|
|
|
|
2008-10-22 11:28:10 +00:00
|
|
|
if env['WITH_BF_OPENEXR']:
|
2006-02-04 14:15:10 +00:00
|
|
|
defs.append('WITH_OPENEXR')
|
|
|
|
|
|
2008-10-22 11:28:10 +00:00
|
|
|
if env['WITH_BF_DDS']:
|
2007-06-25 19:50:25 +00:00
|
|
|
defs.append('WITH_DDS')
|
|
|
|
|
|
2008-10-22 11:28:10 +00:00
|
|
|
if env['WITH_BF_FFMPEG']:
|
2006-02-06 00:50:21 +00:00
|
|
|
defs.append('WITH_FFMPEG')
|
2006-08-14 12:47:13 +00:00
|
|
|
incs += ' ' + env['BF_FFMPEG_INC']
|
2006-02-05 19:23:34 +00:00
|
|
|
|
2008-10-22 11:28:10 +00:00
|
|
|
if env['WITH_BF_OPENJPEG']:
|
2008-06-02 21:35:57 +00:00
|
|
|
defs.append('WITH_OPENJPEG')
|
|
|
|
|
incs += ' ' + env['BF_OPENJPEG_INC']
|
|
|
|
|
|
2008-10-22 11:28:10 +00:00
|
|
|
if env['WITH_BF_REDCODE']:
|
2008-06-02 21:35:57 +00:00
|
|
|
defs.append('WITH_REDCODE')
|
|
|
|
|
incs += ' ' + env['BF_REDCODE_INC']
|
|
|
|
|
|
2008-10-22 11:28:10 +00:00
|
|
|
if env['WITH_BF_QUICKTIME']:
|
2008-11-11 14:14:22 +00:00
|
|
|
incs += ' ../quicktime ' + env['BF_QUICKTIME_INC']
|
2006-02-04 14:15:10 +00:00
|
|
|
defs.append('WITH_QUICKTIME')
|
|
|
|
|
|
2008-12-23 21:20:34 +00:00
|
|
|
env.BlenderLib ( libname = 'bf_imbuf', sources = sources, includes = Split(incs), defines = defs, libtype=['core'], priority = [190] )
|