mirror of
https://github.com/etlegacy/EasyGen.git
synced 2024-11-10 06:42:16 +00:00
197 lines
7.1 KiB
Text
197 lines
7.1 KiB
Text
OpenEXR is one of six software packages that were designed to work
|
|
together: IlmBase, PyIlmBase, OpenEXR, OpenEXR_Viewers, CTL and
|
|
OpenEXR_CTL. You may only be interested in OpenEXR or you may want
|
|
to build it together wth the other packages.
|
|
|
|
What follows are instructions for building all five packages.
|
|
If you are only interested in OpenEXR, stop after step 2.
|
|
|
|
A couple of notes before getting started:
|
|
|
|
- This is not the only way to do this. This document describes a path
|
|
that doesn't involve installing libraries into default system paths,
|
|
but rather, creates a standalone universe.
|
|
- Some of these steps may be a bit redundant, and will be optimized in
|
|
the future.
|
|
- The Debug versions of the libraries and tools are not required if
|
|
you are not going to be doing any debugging, and can be optionally
|
|
built.
|
|
|
|
The source will build under both Visual Studio versions 7 and 8, and
|
|
there are separate directories for the corresponding build files. The
|
|
tag <vc7|8> is used in this document to describe the appropriate folder
|
|
in the path that corresponds to your the version of Visual Studio.
|
|
|
|
The Visual Studio project files assume, and help build out, a directory
|
|
called "Deploy". In the end, this directory will contain the objects
|
|
that might then be moved away from the source for general running of the
|
|
compiled programs. The directory structure at the end of compiling all
|
|
the related tools looks like this:
|
|
|
|
Deploy
|
|
include
|
|
lib
|
|
Debug
|
|
Release
|
|
bin
|
|
Debug
|
|
Release
|
|
openexr-cvs (name as desired)
|
|
IlmBase
|
|
PyIlmBase
|
|
OpenEXR
|
|
OpenEXR_Viewers
|
|
ctl-cvs (name as desired)
|
|
CTL
|
|
OpenEXR_CTL
|
|
fltk
|
|
FL
|
|
GL
|
|
lib
|
|
nvidia
|
|
include
|
|
GL
|
|
glh
|
|
lib
|
|
|
|
If OpenEXR_Viewers is not being compiled, then fltk and nvidia will
|
|
not be needed, but that will be covered later.
|
|
|
|
Step 1. Compile IlmBase
|
|
|
|
a. Point Visual Studio at the .sln file in vc\<vc7|8>\IlmBase in the
|
|
IlmBase subdirectory
|
|
|
|
b. Select the Release configuration and hit Build Solution. This
|
|
will create the Deploy directory, and copy the relevant parts to it.
|
|
|
|
c. If the debug versions are desired, select the Debug configuration
|
|
and hit Build Solution. This will add the Debug directories to Deploy.
|
|
|
|
Step 2. Compile OpenEXR support
|
|
|
|
a. Retrieve the zlib binaries. The project files are set up to link
|
|
against the dll version of zlib, but can easily be changed to link
|
|
against a static version, or a self-built version if desired.
|
|
|
|
1. Go to http://www.zlib.net and download the precompiled DLL
|
|
version of zlib (as of writing, zlib123-dll.zip)
|
|
|
|
2. If you don't wish to put the files into your MS visual studio
|
|
directories and install the dll into windows\system32:
|
|
|
|
a. Put a copy of zlib1.dll into Deploy\bin\Release and
|
|
Deploy\bin\Debug
|
|
|
|
b. Copy the header files into Deploy\include
|
|
|
|
c. Copy zdll.lib and zdll.exp into Deploy\lib\Release and
|
|
Deploy\lib\Debug
|
|
|
|
b. Open the Visual Studio project in OpenEXR\vc\<vc7|8>\OpenEXR.
|
|
|
|
c. Select the Release configuration and build. The IlmImfTest
|
|
program runs a confidence test of your build to make sure
|
|
it is able to work, and may take some time to complete.
|
|
|
|
d. Optionally select the Debug configuration and build.
|
|
|
|
Step 3. Compile CTL support
|
|
|
|
a. Open the Visual Studio project in CTL\vc\<vc7|8>\CTL.
|
|
|
|
b. Select the Release configuration and build. The IlmCtlTest
|
|
program runs a confidence test of your build to make sure it is
|
|
able to work, and may take some time to complete.
|
|
|
|
c. Optionally select the Debug configuration and build.
|
|
|
|
Step 4. Compile OpenEXR_CTL support
|
|
|
|
a. Open the Visual Studio project in OpenEXR_CTL\vc\<vc7|8>\OpenEXR_CTL.
|
|
|
|
b. Select the Release configuration and build.
|
|
|
|
c. Optionally select the Debug configuration and build.
|
|
|
|
Step 5. Compile OpenEXR_Viewers
|
|
|
|
a. Open the appropriate Visual Studio project in
|
|
OpenEXR_Viewers\vc\<vc7|8>\OpenEXR_Viewers depending on whether or not
|
|
you want CTL support.
|
|
|
|
b. exrdisplay requires fltk to work.
|
|
|
|
1. Go to http://www.fltk.org and download fltk 1.1.7
|
|
|
|
2. Open its project files and compile using the instructions they
|
|
provide.
|
|
|
|
3. Create the fltk directory at the top level of your directory
|
|
structure as presented above and copy the FL, GL, and lib folders
|
|
into the fltk directory
|
|
|
|
4. exrdisplay links fltk statically, so no dll is needed.
|
|
|
|
c. playexr requires the nvidia cg library as well as glut and glew.
|
|
|
|
1. Setup the cg toolkit
|
|
|
|
a. Go to http://developer.nvidia.com, the developer section and
|
|
download the cg toolkit, version 1.5, and install it. The path
|
|
where you choose to install Cg is referred to by the
|
|
<Cg install location> tag in the steps below.
|
|
|
|
b. During the installation, if the integrate with visual studio
|
|
option is selected, the header files will be automatically found.
|
|
Otherwise, copy the directory <Cg install location>\Cg\include\Cg
|
|
to Deploy\include\Cg
|
|
|
|
b. Copy the cg.dll and cgGL.dll from the <Cg install location>\Cg\bin
|
|
into Deploy\bin\Release and Deploy\bin\Debug, or otherwise make
|
|
them available (put them in system32, add to path, etc.)
|
|
|
|
c. Copy the cg.lib and cgGL.lib from <Cg install location>\Cg\lib
|
|
into Deploy\lib\Release and Deploy\lib\Debug
|
|
|
|
2. Make glut available. This can be done via several mechanisms.
|
|
See step 4 below.
|
|
|
|
3. Make glew available. This can be done via several mechanisms.
|
|
http://glew.sourceforge.net is the master site for this
|
|
library. See step 4 below.
|
|
|
|
4. nVidia makes both glut and glew available in their SDK package,
|
|
which is a fairly large download, but provides a wealth of other
|
|
information on programming for the GPU, and is generally a useful
|
|
package, so that is the path chosen for this set up.
|
|
|
|
a. Go to http://developer.nvidia.com and download version 10 of the
|
|
SDK and install it. It will prompt you to install the Cg toolkit,
|
|
but this is not necessary as it was handled in step 1. The path
|
|
where you choose to install the SDK is referred to by the
|
|
<SDK install location> tag in the steps below.
|
|
|
|
b. Make an nvidia folder at the top level, with an include and
|
|
lib folder inside it. Inside the lib folder, make Debug and
|
|
Release folders.
|
|
|
|
c. Copy the <SDK install location>\external\include\GL directory into
|
|
nvidia\include the GL and glh folders into nvidia\include.
|
|
|
|
d. Copy the glew headers in <SDK install location>\common\GLEW\include\GL
|
|
into nvidia\include\GL.
|
|
|
|
e. Copy <SDK install location>\common\GLEW\lib\glew32.lib and
|
|
<SDK install location>\external\lib\glut32.lib into Deploy\bin\Release.
|
|
|
|
f. Copy bin\glut32.dll and bin\glew32.dll into Deploy\bin\Release.
|
|
|
|
d. Build the Release configuration of the OpenEXR_Viewers.
|
|
|
|
e. Build the Debug configuration if desired.
|
|
|
|
At this point, the Deploy folder should be fully built out and ready
|
|
to be used. Both exrdisplay and playexr are meant to be launched from
|
|
the command line, as they originated as unix commands, so open a command
|
|
prompt, cd to the Deploy\bin\Release folder and enjoy.
|