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
Conference Courses
Patents
Tech Reports
Wesley Griffin and Marc Olano, "Objective Image Quality Assessment of Texture Compression", I3D 2014: Proceedings of ACM/SIGGRAPH Symposium on Interactive 3D Graphics and Games (San Francisco, CA, March 14-16, 2014).
Proposes sampling space of views and comparing rendered images to evaluate texture compression quality. This accounts for texture mapping distortions between textures and objects, impact of errors in non-color textures like normal maps and the final color, and masking effects between multiple textures.
Yu Wang, Marc Olano, Matthias K. Gobbert and Wesley Griffin, "Parallel Computing for Long-Time Simulations of Calcium Waves in a Heart Cell", In PAMM, v12, pp. 637-638. December 2012, Wiley-VCH Verlag.
Available in pdf format.
A comparison of simulation performance using different GPU memory systems, global + hardware cache management (single and double precision), global + explicitly managed shared memory (single and double precision), and 2D texture memory.
Wesley Griffin, Yu Wang, David Berrios and Marc Olano, "Real-Time GPU Surface Curvature Estimation on Deforming Meshes and Volumetric Datasets", In IEEE Transactions on Visualization and Computer Graphics, v18n10. October 2012.
An extended version of our 2011 I3D paper, including explicit comparisons between graphics pipeline and CUDA for curvature computations. At least at the time of publication, the graphics pipeline is a better implementation option, since the frame buffer blend hardware provide a faster atomic sum than any of CUDA's options for similar operations.
Marc Olano, Dan Baker, Wesley Griffin and Joshua Barczak, "Variable Bit Rate GPU Texture Compression", EGSR 2011: Proceedings of the Eurographics Symposium on Rendering, (Prague, Czech Republic, June 27-29, 2011).
Available in pdf format, including minor updates to the published version.
Games use large quantities of texture, and often have to pause to load between scenes, or predict the player will enter a new scene soon an start streaming textures before they are needed. As an alternative, we present a variable bit-rate texture compression algorithm that can be rapidly decompressed on the GPU. It allows textures to be cached in compressed form on the GPU at about 1/12 the size of the original, and decompressed into renderable form when the player enters a scene. This method was developed with Firaxis Games for Sid Meier's Civilization V. For the Napoleon leader scene, the full set of uncompressed textures take 168MB, but compress to 15MB and can be decompressed for use in 104ms.
Wesley Griffin, Yu Wang, David Berrios and Marc Olano, "GPU Surface Curvature Estimation on Deformable Meshes", I3D 2011: Proceedings of the ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games, (San Francisco, CA, February 18-20, 2011).
Available in pdf format. There is also a web page with video and source code
We use the variation in normals on each triangle in a model to estimate curvature, principal directions, and derivatives of curvature. By doing this in the GPU, we can compute curvatures for models that only exist in the GPU, with examples of skinned animation and marching cubes. We show two examples of uses of curvature information on the GPU: artistic pen-and-ink rendering, and local ambient occlusion.
Fahad Zafar, Aaron Curtis and Marc Olano, "GPU Random Numbers via the Tiny Encryption Algorithm", HPG 2010: Proceedings of the ACM SIGGRAPH/Eurographics Symposium on High Performance Graphics, (Saarbrucken, Germany, June 25-27, 2010).
Available in pdf format.
We propose the Tiny Encryption Algorithm (TEA) as parallel random number generator for graphics and GPU computing. We also propose that some GPU applications can use a lower quality faster random number generator. TEA is fast and simple to implement, and can easily be scaled for different applications by changing the number of encryption rounds. We show that its behavior with a small number of rounds is far better than MD5, and it provides high quality numbers passing all tests in the NIST and DIEHARD test suites at just eight rounds. We implement TEA as a random number generator in the OpenGL shading language, Direct3D HLSL, and NVIDIA CUDA. For graphics use, we demonstrate that TEA produces acceptable quality for Perlin-style noise and a Monte-Carlo soft shadowing algorithm with just two rounds.
Marc Olano and Dan Baker, "LEAN Mapping", I3D 2010: Proceedings of the ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games, (Washington, DC, February 19-21, 2010).
There is a web page for this work.
We introduce Linear Efficient Antialiased Normal (LEAN) Mapping, a method for real-time filtering of specular highlights in bump and normal maps. The method evaluates bumps as part of a shading computation in the tangent space of the polygonal surface rather than in the tangent space of the individual bumps. By operating in a common tangent space, we are able to store information on the distribution of bump normals in a linearly-filterable form compatible with standard MIP and anisotropic filtering hardware. The necessary textures can be computed in a preprocess or generated in real-time on the GPU for time-varying normal maps. The method effectively captures the bloom in highlight shape as bumps become too small to see, and will even transform bump ridges into anisotropic shading. Unlike even more expensive methods, several layers can be combined cheaply during surface rendering, with per-pixel blending. Though the method is based on a modified Ward shading model, we show how to map between its parameters and those of a standard Blinn-Phong model for compatibility with existing art assets and pipelines, and demonstrate that both models produce equivalent results at the largest MIP levels.
Stephen Ingram, Tamara Munzner and Marc Olano, "Glimmer: Multilevel MDS on the GPU", IEEE Transactions on Visualization and Computer Graphics, v15n2, March-April 2009. pp. 249-261.
Available in pdf format. There is a web page for this work, and also video (47MB) and code.
We present Glimmer, a new multilevel algorithm for multidimensional scaling designed to exploit modern graphics processing unit (GPU) hardware. We also present GPU-SF, a parallel, force-based subsystem used by Glimmer. Glimmer organizes input into a hierarchy of levels and recursively applies GPU-SF to combine and refine the levels. The multilevel nature of the algorithm makes local minima less likely while the GPU parallelism improves speed of computation. We propose a robust termination condition for GPU-SF based on a filtered approximation of the normalized stress function. We demonstrate the benefits of Glimmer in terms of speed, normalized stress, and visual quality against several previous algorithms for a range of synthetic and real benchmark datasets. We also show that the performance of Glimmer on GPUs is substantially faster than a CPU implementation of the same algorithm.
Tom DuBois, Bryant Lee, Yi Wang, Marc Olano and Uzi Vishkin, “XMT-GPU: A PRAM Architecture for Graphics Computation,” Proceedings of ICPP-08: the 37th International Conference on Parallel Processing, (Portland, Oregon, September 8-12, 2008).
The parallel processors responsible for shading computation in a modern GPU have evolved from very special purpose processors to increasingly general purpose, enough so that some GPUs are sold entirely for general purpose parallel computation. However, these processors still retain some of the limitations of their graphics roots. We present results of a series of experiments on the effectiveness of replacing shading processors with a true general purpose parallel architecture, XMT. Similar graphics workloads are run on existing GPUs and on an XMT simulator. We conclude that XMT is faster at computationally heavy tasks, but without special-purpose texturing hardware, is slower at texture-access heavy tasks.
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).
Available in pdf format.
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.
These were a series of full-day courses I organized with 5-7 other leading academic and industry presenters on the then-emerging field of procedural shading on graphics hardware
Taekyu Shin, "Visualization of Smoke and Fire Data Based on the Fire Dynamics Simulation Model", MS Thesis, University of Maryland, Baltimore County, 2013, Advisor: Marc Olano.
Available in pdf format.
Explores physically-based rendering of smoke and fire from a physically-accurate fire simulation. The rendering includes single and multiple scattering in the smoke, light emission from fire throughout the simulated volume, and flame color based on simulation temperature. Includes significant work on methods for Monte-Carlo integration in rendering for this type of scene with many points of light emission and a spatially varying participating medium.
Preeti Bindu, "Numerical Integration Techniques for Volume Rendering", MS Thesis, University of Maryland, Baltimore County, 2012, Advisor: Marc Olano.
Available in pdf format.
Uses an adaptive step size to accelerate ray-casting based volume rendering of medical CT scan data.
Ravikiran Dighade, "Approach to Unwrap a 3D Fingerprint to a 2D Equivalent Fingerprint", MS Thesis, University of Maryland, Baltimore County, 2012, Advisor: Marc Olano.
Available in pdf format.
2D fingerprint scanners are prone to smudging and errors. 3D touchless scanners create a high-resolution point scan of the finger in 3D. These are simple and reliable for identiy verification with 3D to 3D comparisoins, but they don't straightforwardly map to existing 2D fingerprint databases. This thesis uses local curvature estimation to identify fingerprint ridges, and applies techniques from minimal distortion texture mapping to unwrap the 3D fingerprint into 2D with less stretching than previously existing methods.
Yu Wang, "A Framework for GPU 3D Model Reconstruction Using Structure-from-Motion", MS Thesis, University of Maryland, Baltimore County, 2011, Advisor: Marc Olano.
Available in pdf format.
GPU parallelization and domain specific optimization of the bundle adjustment structure from motion algorithm for constructing a 3D point model from photographs. The specific application domain is ecological forest canopy scanning using a consumer camera attached to a hobbyist drone helicopter.
Wesley Griffin, "Real-Time GPU Surface Curvature Estimation", MS Thesis, University of Maryland, Baltimore County, 2010, Advisor: Marc Olano.
Available in pdf format.
An adaptation of the surface curvature estimation algorithm by Rusinkiewicz to run in parallel on a GPU. The GPU algorithm runs in real-time. Since it runs entirely on the GPU, it can be used on polygonal data that is only available on the GPU without costly copying of data from the GPU to CPU and back, for example for linear blend skinning on the GPU, or in conjunction with a GPU isosurface generation algorithm. This work includes a new GPU vertex fusing algorithm to give each vertex access to all of its adjacent polygons. The results are demonstrated for both curvature visualization and artistic line drawing algorithms.
Fahad Zafar, "Tiny Encrpytion Algorithm for Cryptographic Gradient Noise", MS Thesis, University of Maryland, Baltimore County, 2010, Advisor: Marc Olano.
Available in pdf format.
Proposes the Tiny Encryption Algorithm (TEA) as a source of multiple independent streams of random numbers for the multiple processors of a GPU. The only state is the random stream number and a sequence number, which are encrypted to create each random number. Eight rounds of TEA are sufficient to pass the DIEHARD and NIST randomness test suites, but as few as two rounds are found to be sufficient for Perlin-style gradient noise. At eight rounds, it is faster and equal quality to the previous MD5-based hashing random number generation. At two rounds, it is faster and higher quality than the previous modified BBS-based method for GPU Perlin-style noise.
Aaron Curtis, "Real-time Soft Shadows on the GPU via Monte Carlo Sampling", MS Thesis, University of Maryland, Baltimore County, 2009, Advisor: Marc Olano.
Available in pdf format.
Create interactive soft shadows by tracing multiple rays to the light source from each visible pixel. Rays are traced through an approximation of the occluder geometry formed by depth maps from the the light and viewer. Randomization for the Monte-Carlo sampling uses a truncated version of the MD5 hash.
Brian Strege, "Using Tiled Head-Mounted Displays with a Single Video Source", MS Project, University of Maryland, Baltimore County, 2009, Advisor: Marc Olano.
Available in pdf format.
Use a pixel shader to reproject a single image into a set of tiled displays for the Sensics piSight Head-Mounted Display. Using a pixel shader allows non-linear distortion and anisotropic filtering of reprojected samples.
Sean Dukehart, "GPU Random Walkers for Image Segmentation", MS Thesis, University of Maryland, Baltimore County, 2009, Advisor: Marc Olano.
Available in pdf format.
Interactive method for image segmentation. The user indiciates foreground and background points, and a CUDA-based parallel solver computes probabilities that each pixel in the image is either foreground or background. For interactive use, we halt the optimization before total convergence. This not only allows it to be interactive, but allows the user to make changes or paint additional foreground and background points to guide the algorithm.
John Kloetzli, "Real-Time High Quality Volume Isosurface Rendering", MS Thesis, University of Maryland, Baltimore County, 2008, Advisor: Marc Olano.
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.
Pankaj Chaudhari, "Real-Time Multiple Refractions through Deformable Objects", MS Thesis, University of Maryland, Baltimore County, 2008, Advisor: Marc Olano.
Available in pdf format.
Hybrid image-space and volume method for tracing refractions on graphics hardware. The method does not use precomputation and constructs a volume representation of the refracting objects in hardware, so is compatible with complex animated models, even ones using vertex or geometry shaders for the animation. The volume representation is decomposed into layers, and refractions are computed from layer to layer. The method can handle multiple refractions, and refractions through multiple objects, as long as the refractions continue in the forward direction.
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.