Update the changelog
[opencv] / otherlibs / _graphics / src / ilmimf / README
1 ABOUT THE OPENEXR LIBRARIES
2 ----------------------------
3
4 Half is a class that encapsulates our 16-bit floating-point format.
5
6 IlmThread is a thread abstraction library for use with IlmImf.  It
7 currently supports pthreads and Windows threads.
8
9 IlmImf is our "EXR" file format for storing 16-bit FP images.
10
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.
14
15 Iex is an exception-handling library.
16
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
20 OpenEXR format.
21
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
24 details.
25
26
27 LICENSE
28 -------
29
30 The OpenEXR source code distribution is free software.  See the file
31 named COPYING (included in this distribution) for details.
32
33
34 WHAT'S INCLUDED
35 ---------------
36
37 Besides the core OpenEXR libraries, the release includes several 
38 utilities for reading, writing, viewing, and manipulating OpenEXR 
39 images.  These include:
40
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.
47
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.
52
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.
60
61
62 BUILDING OPENEXR
63 ----------------
64
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.
70
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
74 FLTK from:
75
76    http://www.zlib.net
77    http://www.fltk.org
78
79 and you can download the NVIDIA Cg SDK from
80 http://developer.nvidia.com.
81
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.
85
86 After installing the required libraries, to build OpenEXR on
87 GNU/Linux or other UNIX-like systems, do this:
88
89 ./configure
90 make
91 make install
92
93 unless you obtained OpenEXR directly from CVS, in which case you
94 should first read README.CVS.
95
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
100 information.
101
102 See README.OSX for details on building OpenEXR in MacOS X.
103
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
106 us know.
107
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
110 platform.
111
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.
114
115
116 USING OPENEXR IN YOUR APPLICATIONS
117 ----------------------------------
118
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.
123