Note: the main copy of this page can be found at http://www.umbc.edu/~olano/papers
The documents distributed by this server have been provided by the contributing authors as a means to ensure timely dissemination of scholarly and technical work on a noncommercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.
(That's the ACM standard web page copyright notice, which they request be used for any web republication of papers that appeared in ACM journals or conferences. However, it seems pretty reasonable for general use, even for those papers that were not ACM publications)
Papers
PhD Dissertations, MS Theses & MS Projects
Patents
Tech Reports
Jon Bronson, Penny Rheingans and Marc Olano, “Semi-Automatic Stencil Creation through Error Minimization,” Proceedings of NPAR 2008: the 6th ACM SIGGRAPH Symposium on Non-Photorealistic Animation and Rendering, (Annecy, France, June 9-11, 2008).
We present a method for generating expressive stencils from polygonal meshes or images. Users provide input geometry and can adjust desired view, lighting conditions, line thickness, and bridge preferences to achieve their final desired stencil. The stencil creation algorithm makes use of multiple metrics to measure the appropriateness of connections between unstable stencil regions. We use the results to create physical stencils from card stock for use with spray paint, and through a commercial steel photo-etching process for theatrical gobos.
John Kloetzli, Brian Strege, Johnathan Decker and Marc Olano, “Parallel Longest Common Subsequence using Graphics Hardware,” Proceedings of EGPGV 2008: the 8th Eurographics Symposium on Parallel Graphics and Visualization, (Crete, Greece, April 14-15, 2008).
We demonstrate an approach for efficient solution of a class of dynamic programming problems on graphics hardware using CUDA. Since dynamic programming solves nested sub-problems, we select alternate algorithms to solve the same problem at differeint levels of parallelism. The choice at each level is tailored to the computational and memory constraints of that level. We use knowledge of the hardware and benchmarking of alternative algorithms to decide the algorithm to use at each level of parallelism and the problem size where the transition from one level of parallelism to another should occur. We demonstrate a 6x speedup relative to the best known CPU algorithm for the longest common subsequence problem for 6+ million character sequences. Previous work in this area with better nominal speedups limited the problem size to fit GPU limits, but our multi-layer approach allows us to scale to CPU+GPU or potentially even multi-CPU + GPU to solve large problems.
Kloetzli, John, Marc Olano and Penny Rheingans. "Interactive Volume Isosurface Rendering using BT Volumes". Proceedings of I3D: ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games, (Redwood City, CA, February 15-17, 2008).
Available in pdf format.
We construct a 3D filter kernel out of a mesh of cubic Bézier tetrahedra. We can convolve regularly sampled volume data (such as you might get from a CT scan) with this 3D kernel to get a Bézier tetrahedral representation for the entire volume, which we call a BT volume. We can compute the exact isosurface intersection within each tetrahedron in graphics hardware, resulting in a fast method for rendering very high quality isosurfaces.
Terrill, Judith, William George, Terence Griffin, John Hagedorn, John Kelso, Marc Olano, Adele Peskin, Steve Saterfield, James Simms, Jeffery Bullard, Joy Dunkers and Nicos Martys, “Extending Measurement Science to Interactive Visualization Environments,” Book Chapter, Trends in Interactive Visualization, Elena Zudilova-Seinstra, Tony Adriaansen and Robert van Liere, Editors, Springer.
We present a taxonomy for creating quantitative visualizations, by adding quantitative measurement tools, quantitative output, or quantitative input. Three examples with domain science collaborators are shown, each including one or more of the quantitative methods.
Kundu, Kishalay and Marc Olano. "Tissue Resection using Delayed Updates in a Tetrahedral Mesh". Proceedings of MMVR15: Medicine Meets Virtual Reality, (Long Beach, CA, February 6-9, 2007).
Available in pdf format.
We present an algorithm that tracks partial cuts in a tetrahedral mesh, only merging and finalizing the topological change when a tetrahedron is cut all the way through.
Shopf, Jeremy and Marc Olano. "Procedural Haptic Texture". Proceedings of User Interface Software and Technology 2006, ACM, October 2006.
Available in pdf format.
Like traditional shading allows you to write procedures to compute surface color, we allow you to write procedures to compute the force experienced by a haptic device. In addition to all of the normally expected haptic responses, this also makes it easy to write surfaces that change the way they feel based on previous user interaction, time, temperature, or anything else you want to program.
Olano, Marc. "Modified Noise for Evaluation on Graphics Hardware". Proceedings of Graphics Hardware 2005, Eurographics/ACM SIGGRAPH, July 2005.
Available in pdf format. The presentation is also available in pdf format. Some sample code online, or in a zip archive (updated 24 August 2005).
Describes three (mostly orthogonal) modifications to the classic Perlin noise function. First, is a hash function which can be computed in few instructions without lookups. Second, is a method of computing gradient vectors directly from the hash function without lookups that differs from the method used in Perlin's improved noise to make it easier to share the same textures for noise functions of different dimension. Finally, the equations are reformulated to allow higher-dimensional noise to be constructed from lower-D lookups. Noise functions are demonstrated with 100% computation and no lookups. In addition, texture-based noise is shown producing identical results (within texture precision). The texture-based version uses a single shared 2D texture, with one lookup into this texture for 1D or 2D noise, two lookups for 3D noise, or four lookups for 4D noise.
Olano, Marc, Bob Kuehne and Maryann Simmons. "Automatic Shader Level of Detail". Proceedings of Graphics Hardware 2003, Eurographics/ACM SIGGRAPH, July 2003.
Available in pdf format.
Describes a shading language compiler that can automatically produce reduced level-of-detail versions of a complex shader. The method used is analogous to edge collapse operations in geometric level of detail, choosing between the possible replacements of one or more local operations with a simpler one based on an estimate of the error introduced.
Cohen, Jonathan, Dinesh Manocha and Marc Olano. "Successive Mappings: An Approach to Polygonal Mesh Simplification with Guaranteed Error Bounds". International Journal of Computational Geometry & Applications. vol. 13(1). February 2003. pp. 61-94.
Available in pdf format.
At each stage of model simplification, the successive mapping technique creates a piecewise linear mapping between points on the more complex model and points on the simplified model. Using such a mapping, it is possible to automatically generate levels of detail from an original polygonal model with guaranteed error bounds. These error bounds include both displacement normal to the surface and displacement tangential to the surface (swimming). The mapping can also be used to map surface properties (e.g. colors or texture coordinates) onto the simplified surface.
Olano, Marc, Shrijeet Mukherjee, Angus Dorbie, "Vertex-based Anisotropic Texturing", Proceedings of the 2001 SIGGRAPH/Eurographics Workshop on Graphics Hardware (Los Angeles, CA, August 12-13, 2001), ACM SIGGRAPH, New York, 2001.
Available in pdf format. The presentation is available in HTML format.
We present an algorithm that enables anisotropic texturing on any current MIP map graphics hardware supporting MIP level biasing. The algorithm computes anisotropic filter footprint parameters per vertex. It constructs the anisotropic filter out of several MIP map texturing passes or multi-texture lookups. Each lookup uses MIP level bias and perturbed texture coordinates to place one probe used to construct the more complex filter profile.
Peercy, Mark S., Marc Olano, John Airey , and P. Jeffery Ungar, "Interactive Multi-Pass Programmable Shading", Proceedings of SIGGRAPH 2000 (New Orleans, Louisiana, July 23-28, 2000). In Computer Graphics, Annual Conference Series, ACM SIGGRAPH, 2000.
Available in pdf format. The presentation is available in HTML format.
Interactive programmable shading is possible on existing graphics hardware. We treat a single OpenGL rendering pass as a SIMD instruction, and compile the procedural shader into multiple rendering passes. To demonstrate the power of this technique, we have created two shading systems. One compiles a constrained shading language to run interactively on current hardware. The second supports the RenderMan Interface and Shading Language on a software implementation of OpenGL with two extensions. The extensions are color range, providing extended range and precision data types, and pixel texture, using computed framebuffer results as texture coordinates.
Cabral, Brian, Marc Olano and Philip Nemec, "Reflection Space Image Based Rendering", Proceedings of SIGGRAPH 99 (Los Angeles, California, August 8-13, 1998). In Computer Graphics, Annual Conference Series, ACM SIGGRAPH, 1999.
Available in pdf format. There is also a web page for this work.
Use a form of environment map to render with an arbitrary isotropic BRDF in an arbitrary environment on graphics hardware. The maps are view-dependent, so to allow viewer motion by capturing or generating maps for several viewpoints. Several of these maps are warped in reflection space and blended to give a new map to use for rendering the scene.
Olano, Marc and Anselmo Lastra, "A Shading Language on Graphics Hardware: The PixelFlow Shading System", Proceedings of SIGGRAPH 98 (Orlando, Florida, July 19-24, 1998). In Computer Graphics, Annual Conference Series, ACM SIGGRAPH, 1998.
Available in pdf format.
Provides details of the shading system on the PixelFlow graphics machine. PixelFlow supports procedural shading using language similar to the RenderMan shading language. This paper focuses on the issues and optimizations necessary to allow procedural shaders to run and run quickly on an interactive graphics system.
Cohen, Jon, Marc Olano and Dinesh Manocha, "Appearance Preserving Simplification", Proceedings of SIGGRAPH 98 (Orlando, Florida, July 19-24, 1998). In Computer Graphics, Annual Conference Series, ACM SIGGRAPH, 1998.
Available in pdf format.
Presents technique for preserving object appearance during geometric simplification. Even with simplification techniques that maintain tight bounds on the deviation between the original and simplified surface, the shaded color can differ drastically. Texture maps and normal maps are created (these can be derived from the original surface representation), then applied to the simplified surface. Since the textures are filtered independently from the geometry, they can retain shading and color fidelity even on heavily simplified models. To use the maps, texture coordinates must be maintained on the simplified surface. To avoid artifacts, a new texture deviation metric is added to the simplification constraints.
Olano, Marc and Trey Greer, "Triangle Scan Conversion Using 2D Homogeneous Coordinates", Proceedings of the 1997 SIGGRAPH/Eurographics Workshop on Graphics Hardware (Los Angeles, CA, August 2-4, 1997), ACM SIGGRAPH, New York, 1995.
Available in html and pdf formats.
Presents a new triangle scan conversion algorithm that works entirely in homogeneous coordinates. By using homogeneous coordinates, the algorithm avoids costly clipping tests which make pipelining or hardware implementations difficult. The algorithm handles clipping by the addition of clip edges, without the need to actually split the clipped triangles or compute vertex positions and shading values at the clipping plane.
Cohen, Jon, Dinesh Manocha and Marc Olano, "Simplifying Polygonal Models using Successive Mappings", Proceedings of IEEE Visualization '97.
Available in pdf format. There is also a web page for this work.
At each stage of model simplification, the successive mapping technique creates a piecewise linear mapping between points on the more complex model and points on the simplified model. Using such a mapping, it is possible to automatically generate levels of detail from an original polygonal model with guaranteed error bounds. These error bounds include both displacement normal to the surface and displacement tangential to the surface (swimming). The mapping can also be used to map surface properties (e.g. colors or texture coordinates) onto the simplified surface.
Lastra, Anselmo, Steve Molnar, Marc Olano, and Yulan Wang, "Real-Time Programmable Shading", Proceedings of the 1995 Symposium on Interactive 3D Graphics (Monterey, CA, April 9-12, 1995), ACM SIGGRAPH, New York, 1995.
Available in html and pdf formats. The presentation slides are also available in pdf format.
It will soon be possible at interactive rates to have shading effects that would have been called Photorealistic only a few years ago. We present a discussion of the hardware and software system requirements, some tricks for time and space efficiency, and details of a partially complete "proof by example" on the PixelFlow system.
Includes a bowling animation reminiscent of the cover of the RenderMan companion. Rendered on a PixelFlow simulator, conservative timing estimates (detailed in the paper) show that PixelFlow will be able to rendender this animation at 30 frames/second.
Olano, Marc, Jon Cohen, Mark Mine, Gary Bishop, "Combatting Rendering Latency", Proceedings of the 1995 Symposium on Interactive 3D Graphics (Monterey, CA, April 9-12, 1995), ACM SIGGRAPH, New York, 1995.
Available in html format.
Latency in the graphics system disrupts the "illusion of presence" we attempt to achieve in head mounted display and virtual environment applications. It is impossible to entirely get rid of the system latency. Head motion prediction helps, but for accurate prediction the latency must still be as small as possible. We examine latency and present a couple of ways we have tried to reduce it. The first is uses alternate rendering software (called SLATS) for the Pixel-Planes 5 graphics hardware. SLATS is optimized for low latency instead of high polygon rendering rate. The second is just-in-time pixels. Just-in-time pixels uses different transformations for every scan line (in the limit it could be every pixel), allowing the possibility of latencies of less than a frame time.
Butterworth, Jeff, Andrew Davidson, Stephen Hench and T. Marc Olano, "3DM: A three dimensional modeler using a head mounted display", Proceedings of the 1992 Symposium on Interactive 3D Graphics (Cambridge, MA, March 30-April 1, 1992). In Computer Graphics, special issue, ACM SIGGRAPH, New York, 1992.
Available in pdf format. Color plates page for this paper (scanned).
Presentation of 3DM, a fairly early HMD modeler. 3DM is modeled after MacDraw and remains a popular demo in our lab. In hindsight, I think we didn't emphasize enough some of the unique user interface techniques we explored. The web seems as good a place as any to relate a couple thoughts I've had on 3DM's interface.
Ellson, Richard and T. Marc Olano, "Injection Molding: Supercomputing and Supergraphics," Cray Channels, v11n3, Fall 1989, Cray Research, 1989, pp. 2-5.
Not available online.
Describes system which simulates plastic injection molding on a Cray and then presents an interactive visualization on a high-end graphics machine.
Jonathan Decker, "System of Bound Particles for Interactive Flow Visualization", MS Thesis, University of Maryland, Baltimore County, 2007, Advisor: Marc Olano.
Available in pdf format.
Time-varying flow visualization using graphics hardware to advect complex structures through the flow field. Differently shaped structures serve as probes to show different characteristics of the volume. Each structure consists of a set of points connected by stiff springs to maintain the probe shape. The volume data is loaded in the background during rendering, so arbitrarily long time sequences can be visualized interactively as long as three full volumes fit in graphics memory at once.
Stephen Ingram, "Multilevel Multidimensional Scaling on the GPU", MS Thesis, University of British Columbia, 2007, Advisors: Tamara Munzner and Marc Olano.
Available in pdf format.
Multi-Dimensional Scaling takes a set of high-dimensional points, and tries to map it into a lower-dimesional space while trying to match the distances between the points as closely as possible. One class of algorithms treats the system as a mesh of springs, where the spring rest length between a pair of points corresponds to the high-dimensional distance between those points. These algorithms can be slow and subject to local minima. We present a multi-level algorithm that solves a subset of the points first, then adds successively larger subsets to reduce the chance of local minima. As a basis for this algorithm, we use new version of a stochastic force algorithm, which uses only a subset of the springs for each point. Our base stochastic force algorithm is reformulated for efficient graphics processor acceleration. The result is an MDS algorithm with unprecedented speed, capable of scaling to hundreds of thousands of points.
Jeremy Shopf, "Interactive Rendering of Heterogeneous Translucent Objects", MS Thesis, University of Maryland, Baltimore County, 2007, Advisor: Marc Olano.
Available in pdf format.
Interactive rendering of translucent objects with internal structure. Objects are rendered as polygonal models, first from the point of view of the light to record position, normal and irradiance, then from the camera. In the second, camera rendering pass, multiple rays are traced through a low resolution volumetric representation of the object interior to approximate light transport within the object.
Patrick Gillespie, "Perceptually Oriented Patch Based Texture Synthesis", MS Thesis, University of Maryland, Baltimore County, January 2006, Advisor: Marc Olano.
Available in pdf format.
Presents several perceptually-inspired changes to the cost function for graph cut texture synthesis. Includes a user study showing extremely significant improvement in results using the new cost function.
Joshua Barczak, "Interactive Illumination Using Large Sets of Point Lights", MS Thesis, University of Maryland, Baltimore County, 2006, Advisor: Marc Olano.
Available in pdf format.
Uses a combination of several acceleration techniques to interactively renderer hundreds of points lights for interactive radiosity. Methods used include hierarchical shadow culling, batched processing of shadowing lights, a half-octahedral shadow map representation for shadows over a hemisphere, staged shadow map updates, low-resolution processing in slowly changing areas, and precomputed radiance transfer for objects in the scene.
Kristian Kuhn, "Using RTP and RTSP for Real-Time 3D Interaction", MS Project, University of Maryland, Baltimore County, January 2006, Advisor: Marc Olano.
Available in pdf format.
Uses video streaming protocols to send selected geometry data between a server and multiple clients. Clients only receive a subset of the full scene, based on their current position and view.
Yi Wang, "GPU Based Cloth Simulation on Moving Avatars", MS Thesis, University of Maryland, Baltimore County, August 2005, Advisor: Marc Olano.
Available in pdf format.
Simulates cloth on a low-resolution mesh on the CPU, then refines to a high-resolution cloth mesh on the GPU. Refinement process includes intersection detection and correction between the refined mesh and an avatar and between the cloth and itself. Detection and correction is performed from the user's point of view, so only corrects potentially visible intersections.
Hanli Ni, "Hybrid 3D-Model Representation through Quadric Error Metrics and Hardware Accelerated Point-Based Rendering", MS Thesis, University of Maryland, Baltimore County, August 2005, Advisor: Marc Olano.
Available in pdf format.
Uses Garland's quadric error metric to choose between point-based rendering (for curved areas) and polygon rendering (for flat areas) in a hybrid point/polygon GPU renderer.
Aimee Joshua, "Modeling and Rendering Mold on Cut Wood", MS Thesis, University of Maryland, Baltimore County, 2005, Advisor: Marc Olano.
Available in pdf format.
Physically inspired cellular autonoma simulation of mold growth and life cycle on wood surfaces.
Daniel Hood, "Analogy Based Segmentation of Volumetric Data", MS Project, University of Maryland, Baltimore County, January 2004, Advisor: Marc Olano.
Available in pdf format.
Extends Hertzmann's Image Analogies to 3D volumes for the purpose of segmenting new volumes given segemented training data. Results were disappointing, in part due to the long running times which limited the amount of experimentation, but I still think the method has promise.
Marc Olano, "A Programmable Pipeline for Graphics Hardware", PhD Dissertation, University of North Carolina, Chapel Hill, April 1998, Advisor: Anselmo Lastra.
I have a separate page with my dissertation in pdf format.
Presents a decomposition of the interactive graphics pipeline into procedural stages. Each stage has the potential to be replaced by a procedure written in a high-level language by a user of the graphics machine. Includes details and lessons from the PixelFlow graphics machine, where some of the stages were implemented.
Olano, Marc and Mark Peercy, "Method and System for Executing SIMD Instructions using Graphics Technology", Filed August 2000, US6943798 granted September 2005.
Available through the European patent office or US patent office.
SIMD processing through multi-pass rendering.
Olano, Marc and Mark Peercy, "Method and System for Accelerating Noise", Filed May 2000, US6747660 granted June 2004.
Available through the European patent office or US patent office.
Computing Perlin noise using graphics hardware.
Olano, Marc, "Method, System, and Computer Program Product for Implementing Derivative Operators with Graphics Hardware", Filed June 2000, US6717599 granted April 2004.
Available through the European patent office or US patent office.
Computing derivatives in hardware shaders.
Peercy, Mark, Marc Olano and John Airey, "Method and system for implementing graphics control constructs", Filed May 2000, US6707462 granted March 2004.
Available through the European patent office or US patent office
Methods to support branching and looping in multi-pass shaders primarily using stencil testing.
Cabral, Brian Kieth, Marc Olano and Philip Nemec, "Reflection Space Image Based Rendering", Filed August 1999, US6697062 granted February 2004.
Available through the European patent office or US patent office
Same idea as SIGGRAPH paper of the same name.
Olano, Marc, "System, Method, and Computer Program Product for Real-time Shading of Computer Generated Images", Filed December 2001, US6657624 granted June 2003; WO03060638 granted July 2003.
Available through the European patent office or US patent office
Level of detail for procedural shaders by identifying and replacing candidate blocks of code with simplified versions.
Ellson, Richard, Lawrence Ray and Marc Olano Company, "Method and Apparatus for Performing Real-Time Computer Animation", Filed December 1990, US5455902 granted October 1995.
Available through the European patent office or US patent office.
Use of interactive 3D computer graphics in plastic injection mold design for visualizing fluid flow simulation results.
Ingram, Stephen, Tamara Munzner and Marc Olano, "Glimmer: Multilevel MDS on the GPU", UBC CS TR-2007-15, Department of Computer Science, University of British Columbia, Vancouver, Canada, 2007.
Available in pdf format.
Multi-Dimensional Scaling takes a set of high-dimensional points, and tries to map it into a lower-dimesional space while trying to match the distances between the points as closely as possible. One class of algorithms treats the system as a mesh of springs, where the spring rest length between a pair of points corresponds to the high-dimensional distance between those points. These algorithms can be slow and subject to local minima. We present a multi-level algorithm that solves a subset of the points first, then adds successively larger subsets to reduce the chance of local minima. As a basis for this algorithm, we use new version of a stochastic force algorithm, which uses only a subset of the springs for each point. Our base stochastic force algorithm is reformulated for efficient graphics processor acceleration. The result is an MDS algorithm with unprecedented speed, capable of scaling to hundreds of thousands of points.
Barczak, Joshua and Marc Olano, "Interactive Shadowed Caustics Using Hierarchical Light Volumes", University of Maryland, Baltimore County, 2006.
Available in pdf format.
Renders caustics (e.g. as created by light passing through water) at interactive framerates, including correct effects in the presence of shadows. The method works by constructing a hierarchical tree of light volumes for the refracting surface, and culling occluded regions.
Olano, Marc and Bob Kuehne, "SGI OpenGL Shader™ Level-of-Detail White Paper", SGI Document 007-4555-001, 2002.
Available in pdf format.
Describes level-of-detail shaders that can automatically reduce their complexity to maintain interactive rendering. Describes a system using level-of-detail building blocks for common shading functions like bump mapping or BRDF approximation, with an additional level-of-detail parameter that controls their level, from full accuracy to a single constant color. Also describes a framework that may be used for future systems capable of automatically simplifying complex shaders.
Available in html and pdf formats.
Addresses the question of how to separate the sampling of geometry (at vertices) from the sampling of normals. This is done with a bump-map like normal map. However, as is true for bump maps, this is prone to aliasing. We develop a simple shading model that incorporates both normal direction and shading information. This model is unique because, through simple MIP-map filtering, it can provide a smooth transition from variations in surface normal to changes in shading.
This is one of my favorite unpublished works, and one that has been cited a few times since.
Olano, Marc, Anselmo Lastra and Jon Leech, "Procedural Primitives in a High Performance, Hardware Accelerated, Z-Buffer Renderer", UNC Computer Science Technical Report 97-040, Department of Computer Science, University of North Carolina, Chapel Hill, North Carolina, 1997.
Available in html and pdf formats.
Explores the issues associated with supporting arbitrary procedural primitives in graphics hardware. The primitives are defined with a machine-independent language similar to the RenderMan shading language, and called using extensions to OpenGL.
Cohen, Jon, Dinesh Manocha and Marc Olano, "Simplifying Polygonal Models using Successive Mappings", UNC Computer Science Technical Report 97-011, Department of Computer Science, University of North Carolina, Chapel Hill, North Carolina, 1997.
Available in pdf format. There is also a web page for this work.
Tech-report version of the IEEE Visualization '97 paper.
Cohen, Jon and Marc Olano, "Low Latency Rendering on Pixel-Planes 5", UNC Computer Science Technical Report 94-028, Department of Computer Science, University of North Carolina, Chapel Hill, North Carolina, 1994.
Available in pdf format.
An experimental rendering program running on Pixel-Planes 5 is described. This system is designed to present the minimum possible image generation latency for a head-mounted display application. While limited in the number of polygons it can handle, it uses a constant single NTSC video field time in display processing for two stereo views. This is a detailed account of the SLATS rendering system described "Combatting Rendering Latency".
Yoo, Terry S. and T. Marc Olano, "Instant Hole (Windows onto Reality)", UNC Computer Science Technical Report 93-027, Department of Computer Science, University of North Carolina, Chapel Hill, North Carolina, 1993.
Available in pdf format.
The idea is presented of a user immersed in a virtual world with holes through which they see the real world. Before the writing of this paper, augmented reality systems tended to show a view that was mostly real-world with a few small virtual objects, though both paradigms are seen today. The mostly-virtual model has the advantage that simple models of real-world objects (rendered in black or the proper color for chroma-keying) can allow correct occlusion between the handful of objects the computer and the computer graphics elements. Possibilities include being able to see the hand and mouse, computer keyboard and monitor, or a window to the rest of the room.
Details of the hardware implementation detail is also discussed. Most of this part is probably not all that relevant for newer head-mounted displays, but may be of interest to some.
Olano, T. Marc and Terry S. Yoo, "Precision Normals (Beyond Phong)", UNC Computer Science Technical Report 93-021, Department of Computer Science, University of North Carolina, Chapel Hill, North Carolina, 1993.
Available in pdf format.
Phong shading (linear interpolation of normals, not to be confused with Phong lighting) fixes the Mach banding problems suffered by Gouraud shading, but still suffers from gross artifacts from errors between the linearly interpolated normals and the normals of the underlying surface. These can be seen in areas of high curvature and near curves of inflection. We present a differential geometry-based explanation of the problem and suggest using a texture map with normals of the underlying surface if possible.
A brief mathematical aside: several reviewers pointed out that our table of spline patch degree vs. surface normal degree had a lower degree for the surface normal than suggested by Shantz and Chang's paper in SIGGRAPH 1988. Since the surface "pseudo-normal patch" must be renormalized anyway, there are multiple valid representations. Our representation did achieve a lower degree than Shantz and Chang, but I can't prove that it is of the minimal possible degree either. I'd be interested if anyone has a proof for the lower bound of this.