92 lines
3.5 KiB
Text
92 lines
3.5 KiB
Text
<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
|
|
|
|
<HTML>
|
|
<HEAD>
|
|
<META name="generator" content="HTML Tidy, see www.w3.org">
|
|
<TITLE>Introduction to Environment Mapping</TITLE>
|
|
<LINK type="text/css" rel="stylesheet" href="../webdocs.css">
|
|
</HEAD>
|
|
|
|
<BODY>
|
|
<H1>Anachronox Environment Mapping</H1>
|
|
|
|
<P>If you are only interested in how to make entities
|
|
reflective, and not how to generate environment maps, and you
|
|
don't care to read this introduction because you already know
|
|
everything, you can <A href="step4-entities.html">go directly
|
|
to step 4</A>.</P>
|
|
|
|
<P>The animated GIF in the index pane to the left was generated
|
|
from actual in-game Anachronox screenshots. It shows off the
|
|
power of environmental texture mapping, which gives entities
|
|
reflective surfaces. Environment mapping is a great way to
|
|
simulate reflection, because it looks neat and is not nearly as
|
|
expensive as computing a <B>real</B> reflection of the scene.
|
|
Following the directions in this documentation, you can make
|
|
your own Anachronox environment mapped entities.</P>
|
|
|
|
<H4>Overview</H4>
|
|
|
|
<P>The basic steps to creating a reflection map is as
|
|
follows:</P>
|
|
|
|
<UL>
|
|
<LI>Generate a cube environment map (many ways to do
|
|
this).</LI>
|
|
|
|
<LI>Use POVray to render the two parabolic reflection
|
|
textures from the cube environment map.</LI>
|
|
|
|
<LI>Use an image editor (ie. Photoshop) to resize to the
|
|
desired resolution.</LI>
|
|
|
|
<LI>Name the textures appropriately and place into <B>
|
|
anoxdata/graphics/env</B>.</LI>
|
|
</UL>
|
|
|
|
<P>Once you have the parabolic environment mapping textures,
|
|
you can tell entities to use them.</P>
|
|
|
|
<UL>
|
|
<LI>Select the entity you want reflective in a map editor
|
|
(IONRadiant), text editor, or NoxDroppings.</LI>
|
|
|
|
<LI>Create a key <B>envmap</B> with a value of the
|
|
environment map's base name.</LI>
|
|
|
|
<LI>Rebuild your map (only ents if desired).</LI>
|
|
</UL>
|
|
|
|
<P>More detailed instructions on each of these procedures is
|
|
available by clicking on the links in the environment mapping
|
|
documentation index. If your browser supports frames you should
|
|
see them to the left; if not, you can <A target="_top" href=
|
|
"frameindex.html">click here</A>.</P>
|
|
|
|
<H4>Technical Information</H4>
|
|
|
|
<P>The technical term for the environment mapping technique
|
|
used in Anachronox is called <B>dual parabolic environment
|
|
mapping</B>. It simulates two reflective parabolas placed at
|
|
the origin of the environment map, and has several advantages
|
|
over other environment mapping techniques, notably its low
|
|
resource usage and high image quality. Although it uses more
|
|
processor cycles than Quake 3's spherical mapping, Anachronox's
|
|
parabolic mapping is view-independent, and so it can be used
|
|
for reflecting actual in-game environments for a much more
|
|
realistic effect. For more information on parabolic mapping,
|
|
read the PhD thesis by Wolfgang Heidrich, <B>High-quality
|
|
Shading and Lighting for Hardware-accelerated Rendering</B>,
|
|
located on his <A href=
|
|
"http://www.mpi-sb.mpg.de/~heidrich/Papers/index.html">
|
|
publications page</A>.</P>
|
|
|
|
<H4>Feedback</H4>
|
|
|
|
<P>This documentation and the code it describes was written by
|
|
Joey. Therefore, if you have comments or suggestions about
|
|
these docs, or you have feature requests or bug reports
|
|
concerning the code, please report to him.</P>
|
|
</BODY>
|
|
</HTML>
|
|
|