Visual Computing Systems
Lectures and Reading List
Please submit reading summaries via the paper reviews site.
Required Reading:
- The Direct3D 10 System by D. Blythe. SIGGRAPH 2006
Suggested Reading:
- Rise of the Graphics Processor. by D. Blythe. Proceedings of the IEEE, 2008
- The Design of the OpenGL Graphics Interface. by M. Segal and K. Akeley. [unpublished 1994]
- Real-Time Rendering (Third Edition, chapters 2 and 3), by T. Akenine-Moller, E. Haines, and N. Hoffman
Required Reading:
- Pomegranate: A Fully Scalable Graphics Architecture. M. Eldridge et al. SIGGRAPH 2000
- A Sorting Classification of Parallel Rendering. S. Molnar et al. IEEE Computer Graphics and Applications, 1994.
Suggested Reading:
- Tessellation Overview. Direct3D 11 Programming Guide. Microsoft Dev Center Documentation
- Watertight Tessellation With Forward Differencing. H. Moreton, Graphics Hardware 2001
- Approximating Catmull-Clark Subdivision Surfaces with Bicubic Patches. C. Loop and S. Schaefer, Transactions on Graphics 2008
- DiagSplit: Parallel, Crack-Free, Adaptive Tessellation for Micropolygon Rendering. M. Fisher et al. SIGGRAPH Asia 2009
Required Reading:
- Rasterization on Larrabee. M. Abrash. Dr. Dobbs Portal, May 1, 2009 (original article is available online here)
- A Pixel is Not a Little Square. A. R. Smith. Microsoft Technical Memo, 1995
Suggested Reading:
- Triangle Scan Conversation Using 2D Homogeneous Coordinates. M. Olano and T. Greer. Graphics Hardware 1997
- High-Performance Software Rasterization on GPUs. S. Laine et al. High Performance Graphics 2011. (source code is available on the paper page)
- Hierarchical Z-Buffer Visibility. N. Greene et al. SIGGRAPH 1993
- Efficient Depth Buffer Compression. J. Hasselgren and T. Akenine Möller.
- Stochastic Depth Buffer Compression using Generalized Plane Encoding. M. Andersson et al. Computer Graphics Forum 2013
- The Irregular Z-Buffer: Hardware Acceleration for Irregular Data Structures. G. Johnson et al. Transactions on Graphics, 2005
- Data-Parallel Rasterization of Micropolygons with Defocus and Motion Blur. K. Fatahalian et al. High Performance Graphics 2009
- Clipless Dual-Space Bounds for Faster Stochastic Rasterization. S. Laine et al. SIGGRAPH 2011
- Interpolation for Polygon Texture Mapping and Shading. P. Heckbert and H. Moreton, State of the Art in Computer Graphics: Visualization and Modeling. 1991
Required Reading:
- The Design and Analysis of a Cache Architecture for Texture Mapping. Z. S. Hakura and Anoop Gupta, ISCA 1997
- Prefetching in a Texture Cache Architecture. H. Igehy et al. Graphics Hardware 1998
Suggested Reading:
- Pyramidal Parametrics. L. Williams, Computer Graphics 1993
- Texture on Demand. D. Peachy. Pixar Technical Memory #217. 1990
- Cardinality-Constrained Texture Filtering. J. Manson and S. Schaefer. SIGGRAPH 2013.
- Parameterization-Aware MIP-Mapping. J. Manson and S. Schaefer. Computer Graphics Forum. 2012.
Suggested Reading:
- Texture Compression using Low-Frequency Signal Modulation. S. Fenney. Graphics Hardware 2003
- iPACKMAN: High-Quality, Low-Complexity Texture Compression for Mobile Phones. J. Ström and T. Akenine-Möller. Graphics Hardware 2005
- ETC2: Texture Compression using Invalid Combinations. J. Ström and M. Pettersson. Graphics Hardware 2007
- Adaptive Scalable Texture Compression. T. Olson et al. High Performance Graphics 2012
- Block Compression in Direct3D 10. MSDN Developer Reference. 2013
Required Reading:
- A Language for Shading and Lighting Calculations. P. Hanrahan and J. Lawson. SIGGRAPH 1990
- Cg: A System for Programming Graphics Hardware in a C-like Language. W. R. Mark et al. SIGGRAPH 2003
- Spark: Modular, Composable Shaders of Graphics Hardware. T. Foley and P. Hanrahan. SIGGRAPH 2011
Suggested Reading:
- A Real-Time Procedural Shading System for Programmable Graphics Hardware. K. Proudfoot et al. SIGGRAPH 2001
- Shade Trees. R. Cook. SIGGRAPH 1984
- An Image Synthesizer. K. Perlin. SIGGRAPH 1985
- Shader Metaprogramming. M. McCool et al. Graphics Hardware 2002
Required Reading:
- Scalable Parallel Programming with CUDA. J. Nickolls et al. ACM Queue, 2008
Suggested Reading:
- GRAMPS: A Programming Model for Graphics Pipelines. J. Sugerman et al. Transactions on Graphics 2009
- ispc: A SPMD Compiler for High-Performance CPU Programming. M. Pharr and W. R. Mark. InPar 2012
Required Reading:
- A Sort-based Deferred Shading Architecture for Decoupled Sampling. P. Clarberg. SIGGRAPH 2013
Suggested Reading:
- Deferred Rendering for Current and Future Rendering Pipelines. A. Lauritzen. SIGGRAPH Beyond Programmable Shading Course 2010
- Intersecting Lights with Pixels: Reasoning about Forward and Deferred Rendering. A. Lauritzen. SIGGRAPH Beyond Programmable Shading Course 2012
Required Reading:
- Understanding the Efficiency of Ray Traversal on GPUs. T. Aila and S. Laine, High Performance Graphics 2010
- Architecture Considerations for Tracing Incoherent Rays. T. Aila and T. Karras, High Performance Graphics 2011.
Suggested Reading:
- Ray Tracing Deformable Scenes Using Dynamic Bounding Volume Hierarchies. I Wald et al. Transactions on Graphics 2007
- Fast Parallel Construction of High-Quality Bounding Volume Hierarchies. T. Karras et al. High Performance Graphics 2013
- Efficient BVH Construction via Approximate Agglomerative Clustering. Y. Gu et al. High Performance Graphics 2013
- Combining Single and Packet Ray Tracing for Arbitrary Ray Distributions on the Intel MIC Architecture. C. Benthin et al. IEEE Transactions on Visualization and Computer Graphics 2011
- SGRT: A Mobile GPU Architecture for Real-Time Ray Tracing. W. Lee et al. High Performance Graphics 2013
- An Energy and Bandwidth Efficient Ray Tracing Architecture. D. Kopta et al. High Performance Graphics 2013
- T&I engine: traversal and intersection engine for hardware accelerated ray tracing. J. Nah et al. SIGGRAPH Asia 2011
- OptiX: A General Purpose Ray Tracing Engine. S. Parker et al. SIGGRAPH 2010
- Ray Tracing for the Movie Cars. P. Christensen. Symposium on Interactive Ray Tracing 2007
- Rendering Complex Scenes With Memory-Coherent Ray Tracing. M. Pharr et al. SIGGRAPH 1997
- PBRT: Physically-Based Ray Tracing: From Theory to Implementation, 2nd Edition. M. Pharr and G. Humphreys.
Required Reading:
- Light Field Rendering. M. Levoy and P. Hanrahan. SIGGRAPH 1996
Suggested Reading:
- The Lumigraph. J. Gortler et al. SIGGRAPH 1996
- Photo Tourism: Exploring Photo Collections in 3D. N. Snavely et al. SIGGRAPH 2006
- Efficient Reconstruction Techniques for Post-Rendering Image Warping. W. R. Mark and G. Bishop. UNC Technical Report TR98-011
Required Reading:
- The Reyes Image Rendering Architecture. R. Cook et al. SIGGRAPH 1987
Suggested Reading:
- Advanced Rendering: Creating CGI for Motion Pictures (chapter 6). A. Apodaca and L. Gritz. 1999
- The A-Buffer: an Anti-Aliased Hidden Surface Method. L. Carpenter. SIGGRAPH 1984
- Stochastic Sampling in Computer Graphics. R. Cook. Transactions on Graphics 1986
- Decoupled Sampling for Graphics Pipelines. J. Ragan-Kelley et al. Transactions on Graphics 2011
Bonus Material: Graphics Architecture Papers of Historical Note
The following papers describe real-time graphics architectures of historical significance. Given the course lectures so far, you should be able to digest most of the material in these papers.
- Pixel-Planes 5: A Heterogeneous Multiprocessor Graphics System Using Processor-Enhanced Memories. H Fuchs et al. SIGGRAPH 1989
- PixelFlow: High-Speed Rendering Using Image Composition. S. Molnar et al. SIGGRAPH 1992
- RealityEngine Graphics. K. Akeley. SIGGRAPH 1993
- InfiniteReality: A Real-Time Graphics System. J. Montrym et al. SIGGRAPH 1997
Suggested Reading:
- The Stanford CS448A course notes are very good reference camera image processing pipeline algorithms and issues.
- The interactive demos on the Stanford CS178 course site are very well done (some were shown in class)
- Documentation of the image processing pipelines in modern SoC's is hard to find, but you might want to check out the description of the image processing pipeline in Sections 12.4.6 through 12.4.8 of the TI OMAP35x Application Processor Technical Reference Manual (now getting dated, and TI no longer makes its OMAP SoCs). The OMAP4 version is in Section 8.3 here
Required Reading:
- Decoupling Algorithms from Schedules for Easy Optimization of Image Processing Pipelines. J. Ragan-Kelly et al. SIGGRAPH 2012
Suggested Reading:
- Halide: A Language and Compiler for Optimizing Parallelism, Locality, and Recomputation in Image Processing Pipelines. J. Ragan-Kelly et al. PLDI 2013
Suggested Reading:
- Fast Median and Bilateral Filtering. B. Weiss. SIGGRAPH 2006
- A Non-Local Algorithm for Image Denoising. A. Buades et al. CVPR 2005
- A Gentle Introduction to Bilateral Filtering and its Applications. S. Paris et al. SIGGRAPH 2008 Course Notes
- Sylvain Paris' Fast Bilateral Filter page
- A Fast Approximation of the Bilateral Filter using a Signal Processing Approach. Sylvain Paris and Frédo Durand. MIT technical report 2006 (extends their ECCV 2006 paper)
- An Iterative Image Registration Technique with an Application to Stereo Vision. Bruce Lucas and Takeo Kanade. IJCAI 1981
- Lucas-Kanade 20 Years On: A Unifying Framework. Simon Baker and Iain Matthews. ICCV 2004
Required Reading:
- The Frankencamera: An Experimental Platform for Computational Photography. A. Adams et al. SIGGRAPH 2010
Suggested Reading:
- Chap - A SIMD Graphics Processor. A. Levinthal and T. Porter. SIGGRAPH 1984
Suggested Reading:
- Single Lens Stereo with a Plenoptic Camera. E. Adelseon and J. Wang. Transactions on Pattern Analysis and Machine Intelligence, 1992
- High Performance Imaging Using Large Camera Arrays. B. Wilburn et al. SIGGRAPH 2005
- Light Field Photography with a Hand-held Plenoptic Camera. R. Ng. Stanford University Technical Report, 2005
- Digital Light Field Photography. R. Ng. Stanford Ph.D. Dissertation, 2006 (see chapters 1-4)
Required Reading:
- KinectFusion: Real-time 3D Reconstruction and Interaction Using a Moving Depth Camera. S. Izadi et al. UIST 2011
Suggested Reading:
- Real-time Human Pose Recognition in Parts from Single Depth Images. J. Shotton et al. CVPR 2011
- Method and System for Object Recognition. Z. Zalevsky et al. International Patent WO 2007/043036 A1 (this is one of the original patents by PrimeSense)
- KinectFusion: Real-Time Dense Surface Mapping and Tracking. R. A. Newcombe et al. ISMAR 2011
- Technical Description of Kinect Calibration. ROS.org (speculation about what the Kinect actually computes by roboticists)
Suggested Reading:
- PatchMatch: A Randomized Correspondence Algorithm for Structural Image Editing. C. Barnes et al. SIGGRAPH 2009
- Texture Synthesis by Non-parametric Sampling. A. Efros and T.K. Leung. ICCV 99
Suggested Reading:
- Video Google: A Text Retrieval Approach to Object Matching in Videos. J. Sivic and A. Zisserman. ICCV 2003
Required Reading:
- Location Recognition using Prioritized Feature Matching. Y. Li et al. ECCV 10
Suggested Reading:
- Photo Tourism: Exploring Photo Collections in 3D. N. Snavely et al. SIGGRAPH 2006
- Building Rome in a Day. S. Agarwal et al. ICCV 2009
- Building Rome on a Cloudless Day. J. Frahm et al. ECCV 10
- Skeletal Graphs for Efficient Structure from Motion. N. Snavely et al. CVPR 2008
- Modeling the World from Internet Photo Collections. N. Snavely et al. IJCV 2007
Suggested Reading:
- Distributed Kd-Trees for Retrieval from Very Large Image Collections. M Aly, M. Munich. P. Perona. BMVC 2011
Suggested Reading:
- Interactive Indirect Illumination Using Voxel Cone Tracing. C. Crassin, F. Neyret, M. Sainz, S. Green, E. Eisemann. Pacific Graphics 2001
- Efficient Sparse Voxel Octrees. S. Laine, T. Kerras. I3D 2010
- VoxelPipe: A Programmable Pipeline for 3D Voxelization. J. Pantaleoni. HPG 2011
- High Resolution Sparse Voxel DAGs. V. Kampe, E. Sintorn, U. Assarsson. SIGGRAPH 2013
- Octree-Based Sparse Voxelization Using the GPU Hardware Rasterizer. C. Crassin and S. Green (OpenGL Insights: Ch. 22)
- Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering. C. Crassin. SIGGRAPH Beyond Programming Shading Course, 2012
Suggested Reading:
- GRAMPS: A Programming Model for Graphics Pipelines. J. Sugerman et al. Transactions on Graphics 2009
- Dynamic Fine-Grain Scheduling of Pipeline Parallelism. D. Sanchez et al. PACT 2011
- Programming Many-Core Systems With GRAMPS. J. Sugerman. Stanford University Ph.D. thesis