openexr-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Openexr-devel] pre-1.1.0 release in CVS, please test!


From: Drew Hess
Subject: [Openexr-devel] pre-1.1.0 release in CVS, please test!
Date: Fri, 16 Jan 2004 03:14:07 -0800 (PST)

Hey all,

I've just finished checking into CVS a massive update of OpenEXR in 
preparation for the 1.1.0 release.  I'll send out more details when the 
release happens, but for now the highlights are:

* Support for tiled images, including mipmaps and ripmaps.  Tiled images 
use a new file format that cannot be read by previous versions of the 
OpenEXR libraries.  Scanline images that you create with the 1.1.0 and 
later release of the OpenEXR libraries are readable by older versions.  

* Support for abstracted I/O.  See IlmImf/ImfIO.h for some classes in
which you can wrap other objects (e.g. already-opened file descriptors)  
and pass them to the OpenEXR I/O routines.  In other words, you can open
files/streams/etc. in your application, wrap the object in an Imf::IStream
or Imf::OStream, and pass it to OpenEXR for reading and writing, as long
as the underlying object supports seeking.

* Support for environment maps.  See IlmImf/ImfEnvmap.h

* exrdisplay has been updated to handle tiled images, preview images, and 
display windows.  (The fragment shader version has not been tested yet, 
please give it a whirl.  Don't panic if it breaks, I'm sort of expecting 
that ;)

* We've included a new utility called "exrmaketiled" which generates tiled
OpenEXR images, including all mipmap/ripmap levels, from another OpenEXR
image.

* There are some new Imath updates, including a pretty useful 2D matrix 
class.


NOTE: I have not tested this code on any platform except RedHat Linux 7.2
and Debian GNU/Linux unstable, both with gcc 3.3.2.  I have not updated
the Visual C++ projects for lack of time; there are quite a few new files
that need to be added to the VS projects.

If you can get to OpenEXR CVS, I would really appreciate your testing 
feedback before the 1.1.0 release.  I'm especially looking for feedback 
from OS X and Win32 developers.  Hopefully Henti will have a nightly CVS 
tarball soon that folks can download if they can't get to CVS.

See exrmaketiled and exrdisplay/loadImage.cpp for examples of how to use 
the new tiled API.


Regarding source-code compatibility:

The 1.1.0 API should be compatible with your existing source code, so a
simple recompile should suffice.  You only need to make changes to your
code if you want to:

  a. write out tiled files
  b. read tiled files in units of tiles rather than in scanlines
  c. read levels in mip/ripmapped files other than the first level.

Existing code that's recompiled against the 1.1.0 libs will read tiled 
files as if they were scanline files; only the first level of a 
mipmapped/ripmapped file will be read.

I did make one change that will affect you if you were using the
Imf::VERSION symbol in your code.  It's now called Imf::EXR_VERSION
because of a conflict with autoconf's own VERSION macro.  There are also
some changes to the way versions are reported now, see IlmImf/ImfVersion.h 
for details.


Thanks again for everyone's support of OpenEXR!


-dwh-

p.s. if anyone knows how I can tell autoconf to make .so.1 versions of the
libs (currently it builds .so.0 versions, I'd prefer to bump the major
version for the 1.1.0 release), please clue me in....















reply via email to

[Prev in Thread] Current Thread [Next in Thread]