README for fastshadows shad demonstrates the real-time shadow casting capability of the IRIS-4D RealityEngine (RE). NOTE: THIS PROGRAM ONLY COMPILES ON 4.0.5G OR LATER REALITY ENGINE MODELS. THE BINARY ON THE CD SEEMS TO WORK ON 4.0.5F AS WELL. A man page for using shad exists. See shad(6) (ascii version below). `!' indicates new or updated as of version 4.2 ! shadows+light.ps "Fast Shadows and Lighting Effects Using Texture Mapping" (This paper is a companion to the software implementation included in this directory.) ABSTRACT: Generating images of texture mapped geometry requires projecting surfaces onto a two-dimensional screen. If this projection involves perspective, then a division must be performed at each pixel of the projected surface in order to correctly calculate texture map coordinates. We show how a simple extension to perspective-correct texture mapping can be used to create various lighting effects. These include arbitrary projection of two-dimensional images onto geometry, realistic spotlights, and generation of shadows using shadow maps. These effects are obtained in real time using hardware that performs correct texture mapping. CR Categories and Subject Descriptors: I.3.3 [Computer Graphics]: Picture/Image generation; I.3.7 [Computer Graphics]: Three-dimensional Graphics and Realism - color, shading, shadowing, and texture Additional Key Words and Phrases: lighting, texture mapping Shadows have been done before with the Iris GL. Examples of shadows cast onto flat surfaces are found in jello, insect, and flight. The RE uses a technique based on shadow maps, which allow casting shadows onto curved surfaces and self-shadowing. A good reference for this is "Rendering Antialiased Shadows with Depth Maps" by Reeves, Salesin and Cook from the 1987 SIGGRAPH Proceedings. Also, some of the mathematical basis for why it works is described in "Fast Shadows and Lighting Effects Using Texture Mapping" by Segal, Korobkin, van Widenfelt, Foran and Haeberli from 1992 SIGGRAPH Proceedings. The Iris GL support for shadows includes: - new arguments to texdef - TX_I_16 - TX_BILINEAR_LEQUAL, TX_BILINEAR_GEQUAL - new argument to tevdef - TV_ALPHA - new GL call - displacepolygon(float scalefactor) -rolf (rolf@sgi.com, 415/390-3669) SHAD(6D) Silicon Graphics SHAD(6D) NAME shad - A demonstration of real-time shadows SYNOPSIS shad obj1.sgo [obj2.sgo ...] DESCRIPTION shad is a simple demonstration of the real-time shadowing capability of Reality Engine Graphics. Multiple colored lights cast shadows on an ob- ject or objects. CONTROLS The left and middle mouse buttons control the viewer position. The viewer position is a point on a hemisphere looking in at the object. When pressing the left mouse button, horizontal mouse motion controls the position around the hemisphere (longitude), while vertical mouse motion controls the height on the hemisphere (latitude). When pressing the mid- dle mouse button, vertical motion controls the distance from the object. Pressing the right mouse button selects a pop up menu. Pressing the ESC key exits the program. While in the Eye View, simultaneously pressing the left shift key and holding the left mouse button causes the mouse position to control the placement of one of the lights. This allows a shadow to be moved in real-time. NOTES shad only runs on a Reality Engine, although newer graphics options may also support real-time shadows. BUGS If the Light View clips incorrect shadows may result. Avoid clipping in the Light Views. AUTHOR Paul Haeberli and Rolf van Widenfelt, August 1992 Page 1 Release 4.0.5G August 1992
Source
Documentation
Reference