Dragon Age: Origins - Dragon Age Toolset Lightmapper
This is a quick guide to getting started with EclipseRay, a...
- Category Traditional
- Size 5.8 MB
- Program by Bioware
Dragon Age: Origins - Dragon Age Toolset Lightmapper
This is a quick guide to getting started with EclipseRay, a lightmapper for use with the Dragon Age toolset. EclipseRay an interface to Yafray, an open-source raytracing engine. Yafray has been modified somewhat to make it suitable for this purpose. The lightmapping process for the DA toolset is driven by a Python script found at build\eclipseRay\scripts\LightMapper.py. Pass this script as the argument to EclipseRay.
This is a quick guide to getting started with EclipseRay, a lightmapper for use with
the Dragon Age toolset. EclipseRay an interface to Yafray, an open-source raytracing engine.
Yafray has been modified somewhat to make it suitable for this purpose. The lightmapping
process for the DA toolset is driven by a Python script found at
build\eclipseRay\scripts\LightMapper.py. Pass this script as the argument to EclipseRay.
Getting Started
--------------------------------------------------------------------------------
1. Required external packages:
- Install Python. ActiveState's 2.5 distribution is recommended because it already
has the win32com extensions you will need to use EclipseRay with
the Dragon Age toolset. 2.5 is the supported version of Python with the Dragon Age
toolset.
- Install scons http://www.scons.org/), this is used for compiling the project. You
need to install python BEFORE installing scons. Building has been tested with v1.2
for Windows. Make sure you have the path to scons.bat (usually c:\Python25\Scripts)
in your environment variables,
- Install the lxml package for your python distribution. This can be obtained from
the python.org package repository. It is used to parse the scene files output from
the level editor.
2. Configure Source/user-config.py, if necessary (i.e. if your python install directory
is not the default):
- Change YF_PYTHON_LIBPATH to point to your Python25\libs folder
- Change YF_PYTHON_INC to point to your Python25\include folder
3. Compile: from EclipseRay\Source, type "scons" to compile. The project should compile
with no errors or warnings. Note that the Visual Studio project provided on
Source/src/eclipseray is for coding convenience, but has not been set up for building.
Coding and file naming conventions
--------------------------------------------------------------------------------
- All eclipse-specific files (sources and headers) have the 'ec' prefix
- All files related to python integration have the 'py' prefix
- All eclipse classes start with uppercase
- Function documentation (function/class names and descriptions, parameters
and usage) is written with doxygen-style markers in the header files.
- This project is based on Yafray, an open source raytracer. All Yafray classes
have the "_t" suffix, but in the context of EclipseRay, used yafray classes are
renamed in yrtypes.h with the "YR" prefix. E.g. surfaceIntegrator_t is defined
as YRSurfaceIntegrator.
Quick start guide
--------------------------------------------------------------------------------
- Start by looking at the main program cycle in Source/src/eclipseray/aergia.cpp
This is what happens there:
1. Settings are read from the user input
2. The error management, python, and render environment interfaces are initialized
3. A main python script (specified by the user) is run
4. Python and error management systems are finalized, then the program exits.
- Have a look at the lightmapper script to get an idea of the kind of objects you can
play with. You'll find the main library, named "aergia" (more on this later), and
from that you can access sub-libraries for creating lights, materials, meshes, scenes,
and raytracing integrators (look for variables created with "aergia.*".
- If you want to see how and where each of these modules are defined in the source,
look at Source/include/eclipseray/pymodules.h
- To dive into the code, start with Source/include/eclipseray/eclipse.h, this defines
the base object from which all others are derived. Then, explore the header files
for the main objects you are interested in.
Happy hacking!
- Bioware