mirror of
https://github.com/opencv/opencv.git
synced 2024-12-05 01:39:13 +08:00
124 lines
4.4 KiB
Plaintext
124 lines
4.4 KiB
Plaintext
|
ABOUT THE OPENEXR LIBRARIES
|
||
|
----------------------------
|
||
|
|
||
|
Half is a class that encapsulates our 16-bit floating-point format.
|
||
|
|
||
|
IlmThread is a thread abstraction library for use with IlmImf. It
|
||
|
currently supports pthreads and Windows threads.
|
||
|
|
||
|
IlmImf is our "EXR" file format for storing 16-bit FP images.
|
||
|
|
||
|
Imath is a math library. IlmImf only uses a subset of it,
|
||
|
but we're releasing the full library because it's easier for us to
|
||
|
maintain, and we think it'll be useful to others.
|
||
|
|
||
|
Iex is an exception-handling library.
|
||
|
|
||
|
See the IlmImfExamples directory for some code that demonstrates how
|
||
|
to use the IlmImf library to read and write OpenEXR files. The doc
|
||
|
directory contains some high-level documentation and history about the
|
||
|
OpenEXR format.
|
||
|
|
||
|
If you have questions about using the OpenEXR libraries, you may want
|
||
|
to join our developer mailing list. See http://www.openexr.com for
|
||
|
details.
|
||
|
|
||
|
|
||
|
LICENSE
|
||
|
-------
|
||
|
|
||
|
The OpenEXR source code distribution is free software. See the file
|
||
|
named COPYING (included in this distribution) for details.
|
||
|
|
||
|
|
||
|
WHAT'S INCLUDED
|
||
|
---------------
|
||
|
|
||
|
Besides the core OpenEXR libraries, the release includes several
|
||
|
utilities for reading, writing, viewing, and manipulating OpenEXR
|
||
|
images. These include:
|
||
|
|
||
|
* exrdisplay, an image viewer.
|
||
|
* exrheader, a utility for dumping header information.
|
||
|
* exrstdattr, a utility for modifying OpenEXR standard attributes.
|
||
|
* exrmaketiled, for generating tiled and rip/mipmapped images.
|
||
|
* exrenvmap, for creating OpenEXR environment maps.
|
||
|
* exrmakepreview, for creating preview images for OpenEXR files.
|
||
|
|
||
|
exrdisplay requires FLTK 1.1 or greater and OpenGL. exrdisplay
|
||
|
supports fragment shaders if you have the Nvidia Cg SDK and a graphics
|
||
|
card capable of running fp30 profile fragment shaders. See
|
||
|
exrdisplay/README for details.
|
||
|
|
||
|
We have also released an OpenEXR display driver for Renderman, a file
|
||
|
I/O plugin for Shake, and a file I/O plugin for Adobe Photoshop (on
|
||
|
both Windows and MacOS). These are packaged separately. Go to
|
||
|
http://www.openexr.com to download them. NOTE: the most recent
|
||
|
versions of these applications now have native support for OpenEXR, so
|
||
|
you should only use our open-source versions of the plugins if you
|
||
|
have an older version of the application.
|
||
|
|
||
|
|
||
|
BUILDING OPENEXR
|
||
|
----------------
|
||
|
|
||
|
Building OpenEXR requires the zlib library. If you want to build the
|
||
|
'exrdisplay' image viewer, you'll also need FLTK 1.1, but this program
|
||
|
is not required to use OpenEXR's libraries in your application.
|
||
|
exrdisplay can also accelerate the display of OpenEXR images if you
|
||
|
have the NVIDIA Cg SDK.
|
||
|
|
||
|
Your OS distribution may already include these libraries, or supply
|
||
|
packages for them. That is the preferred way to obtain them for use
|
||
|
with OpenEXR. If not, you can obtain the source code for zlib and
|
||
|
FLTK from:
|
||
|
|
||
|
http://www.zlib.net
|
||
|
http://www.fltk.org
|
||
|
|
||
|
and you can download the NVIDIA Cg SDK from
|
||
|
http://developer.nvidia.com.
|
||
|
|
||
|
If you're building OpenEXR on a Windows platform, see README.win32 for
|
||
|
instructions on how to build OpenEXR. The remainder of this file
|
||
|
applies only to GNU/Linux or other UNIX-like systems.
|
||
|
|
||
|
After installing the required libraries, to build OpenEXR on
|
||
|
GNU/Linux or other UNIX-like systems, do this:
|
||
|
|
||
|
./configure
|
||
|
make
|
||
|
make install
|
||
|
|
||
|
unless you obtained OpenEXR directly from CVS, in which case you
|
||
|
should first read README.CVS.
|
||
|
|
||
|
If you have the Nvidia Cg SDK and you want to build support for
|
||
|
fragment shaders into exrdisplay, specify the path to the SDK using
|
||
|
the "--with-cg-prefix" flag. There are some additional compile-time
|
||
|
configuration options available; type `./configure --help` for more
|
||
|
information.
|
||
|
|
||
|
See README.OSX for details on building OpenEXR in MacOS X.
|
||
|
|
||
|
Do `make check` to run the OpenEXR confidence tests. They should all
|
||
|
pass; if you find a test that does not pass on your system, please let
|
||
|
us know.
|
||
|
|
||
|
Other UNIX variants haven't been tested, but should be easy to build.
|
||
|
Let us know if you're having problems porting OpenEXR to a particular
|
||
|
platform.
|
||
|
|
||
|
All include files needed to use the OpenEXR libraries are installed in the
|
||
|
OpenEXR subdirectory of the install prefix, e.g. /usr/local/include/OpenEXR.
|
||
|
|
||
|
|
||
|
USING OPENEXR IN YOUR APPLICATIONS
|
||
|
----------------------------------
|
||
|
|
||
|
On systems with support for pkg-config, use `pkg-config --cflags
|
||
|
OpenEXR` for the C++ flags required to compile against OpenEXR
|
||
|
headers; and `pkg-config --libs OpenEXR` for the linker flags required
|
||
|
to link against OpenEXR libraries.
|
||
|
|