anachronox-sdk/docs/envmap/intro.html

95 lines
3.6 KiB
HTML

<!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, the code it describes, and the sample
images and movies were created 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>