1 ABOUT THE OPENEXR LIBRARIES
2 ----------------------------
4 Half is a class that encapsulates our 16-bit floating-point format.
6 IlmThread is a thread abstraction library for use with IlmImf. It
7 currently supports pthreads and Windows threads.
9 IlmImf is our "EXR" file format for storing 16-bit FP images.
11 Imath is a math library. IlmImf only uses a subset of it,
12 but we're releasing the full library because it's easier for us to
13 maintain, and we think it'll be useful to others.
15 Iex is an exception-handling library.
17 See the IlmImfExamples directory for some code that demonstrates how
18 to use the IlmImf library to read and write OpenEXR files. The doc
19 directory contains some high-level documentation and history about the
22 If you have questions about using the OpenEXR libraries, you may want
23 to join our developer mailing list. See http://www.openexr.com for
30 The OpenEXR source code distribution is free software. See the file
31 named COPYING (included in this distribution) for details.
37 Besides the core OpenEXR libraries, the release includes several
38 utilities for reading, writing, viewing, and manipulating OpenEXR
39 images. These include:
41 * exrdisplay, an image viewer.
42 * exrheader, a utility for dumping header information.
43 * exrstdattr, a utility for modifying OpenEXR standard attributes.
44 * exrmaketiled, for generating tiled and rip/mipmapped images.
45 * exrenvmap, for creating OpenEXR environment maps.
46 * exrmakepreview, for creating preview images for OpenEXR files.
48 exrdisplay requires FLTK 1.1 or greater and OpenGL. exrdisplay
49 supports fragment shaders if you have the Nvidia Cg SDK and a graphics
50 card capable of running fp30 profile fragment shaders. See
51 exrdisplay/README for details.
53 We have also released an OpenEXR display driver for Renderman, a file
54 I/O plugin for Shake, and a file I/O plugin for Adobe Photoshop (on
55 both Windows and MacOS). These are packaged separately. Go to
56 http://www.openexr.com to download them. NOTE: the most recent
57 versions of these applications now have native support for OpenEXR, so
58 you should only use our open-source versions of the plugins if you
59 have an older version of the application.
65 Building OpenEXR requires the zlib library. If you want to build the
66 'exrdisplay' image viewer, you'll also need FLTK 1.1, but this program
67 is not required to use OpenEXR's libraries in your application.
68 exrdisplay can also accelerate the display of OpenEXR images if you
69 have the NVIDIA Cg SDK.
71 Your OS distribution may already include these libraries, or supply
72 packages for them. That is the preferred way to obtain them for use
73 with OpenEXR. If not, you can obtain the source code for zlib and
79 and you can download the NVIDIA Cg SDK from
80 http://developer.nvidia.com.
82 If you're building OpenEXR on a Windows platform, see README.win32 for
83 instructions on how to build OpenEXR. The remainder of this file
84 applies only to GNU/Linux or other UNIX-like systems.
86 After installing the required libraries, to build OpenEXR on
87 GNU/Linux or other UNIX-like systems, do this:
93 unless you obtained OpenEXR directly from CVS, in which case you
94 should first read README.CVS.
96 If you have the Nvidia Cg SDK and you want to build support for
97 fragment shaders into exrdisplay, specify the path to the SDK using
98 the "--with-cg-prefix" flag. There are some additional compile-time
99 configuration options available; type `./configure --help` for more
102 See README.OSX for details on building OpenEXR in MacOS X.
104 Do `make check` to run the OpenEXR confidence tests. They should all
105 pass; if you find a test that does not pass on your system, please let
108 Other UNIX variants haven't been tested, but should be easy to build.
109 Let us know if you're having problems porting OpenEXR to a particular
112 All include files needed to use the OpenEXR libraries are installed in the
113 OpenEXR subdirectory of the install prefix, e.g. /usr/local/include/OpenEXR.
116 USING OPENEXR IN YOUR APPLICATIONS
117 ----------------------------------
119 On systems with support for pkg-config, use `pkg-config --cflags
120 OpenEXR` for the C++ flags required to compile against OpenEXR
121 headers; and `pkg-config --libs OpenEXR` for the linker flags required
122 to link against OpenEXR libraries.