Visual Computing Systems
Lectures and Reading List
Required and recommended readings will be posted here.
Required Reading:
- The Direct3D 10 System by D. Blythe. SIGGRAPH 2006
Further 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.
Further 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:
- A Pixel is Not a Little Square. A. R. Smith. Microsoft Technical Memo, 1995
- Rasterization on Larrabee. M. Abrash. Dr. Dobbs Portal, May 1, 2009 (original article is available online here)
Further 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
Further Reading:
- Pyramidal Parametrics. L. Williams, Computer Graphics 1983
- Texture on Demand. D. Peachy. Pixar Technical Memory #217. 1990
- The Design and Analysis of a Cache Architecture for Texture Mapping. Z. S. Hakura and Anoop Gupta, ISCA 1997
- Cardinality-Constrained Texture Filtering. J. Manson and S. Schaefer. SIGGRAPH 2013.
- Parameterization-Aware MIP-Mapping. J. Manson and S. Schaefer. Computer Graphics Forum. 2012.
Required Reading:
- Prefetching in a Texture Cache Architecture. H. Igehy et al. Graphics Hardware 1998
Further 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 for Graphics Hardware. T. Foley and P. Hanrahan. SIGGRAPH 2011
Further 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
Further Reading on GPU Processor Core Architecture:
- The Compute Architecture of Intel Processor Graphics Gen7.5, Intel Technical Whitepaper, 2014
- NVIDIA Kepler GK110, NVIDIA Technical Whitepaper
- AMD Graphics Core Next (GCN) Architecture, AMD Technical Whitepaper
Further Reading:
- Scalable Parallel Programming with CUDA. J. Nickolls et al. ACM Queue, 2008
- 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
- Apple Metal Programmer's Guide
- Mantle: Introducing a New API for Graphics, Guennadi Riguer, GDC 2014 Technical Talk
- Don Baker's blog posts: Next-Generation of Graphics APIs and The Benchmarks We Care About
Further Reading:
- A Sort-based Deferred Shading Architecture for Decoupled Sampling. P. Clarberg. SIGGRAPH 2013
- 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
- Mythic Science Fiction in Real-Time: The Destiny Rendering Engine, Natalya Tatarchunk, Advances in Real-Time Rendering in Games, SIGGRAPH 2013 Course Notes
- Morphological Anti-Aliasing. Alexander Reshetov. Hight Performance Graphics 2009
- Filtering Approaches for Real-Time Anti-Aliasing, SIGGRAPH 2011 Course Notes
Required Reading:
- Architecture Considerations for Tracing Incoherent Rays. T. Aila and T. Karras, High Performance Graphics 2011
- Megakernels Considered Harmful: Wavefront Path Tracing on GPUs. S. Laine, T. Karras and T. Aila, High Performance Graphics 2013
- An Energy and Bandwidth Efficient Ray Tracing Architecture. D. Kopta et al. High Performance Graphics 2013
Further Reading:
- Ray Tracing Deformable Scenes Using Dynamic Bounding Volume Hierarchies. I Wald et al. Transactions on Graphics 2007
- Understanding the Efficiency of Ray Traversal on GPUs. T. Aila and S. Laine, High Performance Graphics 2010
- 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
- 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
Further 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
- Talisman: Commodity Real-Time Graphics for the PC. J. Torberg and J. Kajiya, SIGGRAPH 1996.
Further 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)
- Clarkvision.com has some very interesting material on cameras.
Required Reading:
- Decoupling Algorithms from Schedules for Easy Optimization of Image Processing Pipelines. J. Ragan-Kelly et al. SIGGRAPH 2012
- Darkroom: Compiling High-Level Image Processing Code into Hardware Pipelines. J. Hegarty et al. SIGGRAPH 2014
Further Reading:
- Halide: A Language and Compiler for Optimizing Parallelism, Locality, and Recomputation in Image Processing Pipelines. J. Ragan-Kelly et al. PLDI 2013
Further 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
- Texture Synthesis by Non-parametric Sampling. A. Efros and T.K. Leung. ICCV 99
- PatchMatch: A Randomized Correspondence Algorithm for Structural Image Editing. C. Barnes et al. SIGGRAPH 2009
Required Reading:
- The Frankencamera: An Experimental Platform for Computational Photography. A. Adams et al. SIGGRAPH 2010
Further Reading:
Further 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
Further 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)
- Technical Description of Kinect Calibration. ROS.org (speculation about what the Kinect actually computes by roboticists)
Lecture 20:
Adaptive Multi-Rate Shading (lecture by Yong He)
Further Reading:
- Extending the Graphics Pipeline with Adaptive, Multi-Rate Shading. Y. He et al., SIGGRAPH 2014
- Coarse Pixel Shading. K. Vaidyanathan et al., High Performance Graphics 2014
- AMFS: Adaptive Multi-Frequency Shading for Future Graphics Processors. P. Clarberg et al., SIGGRAPH 2014
Required Reading:
- Location Recognition using Prioritized Feature Matching. Y. Li et al. ECCV 10
Further Reading:
- Video Google: A Text Retrieval Approach to Object Matching in Videos. J. Sivic and A. Zisserman. ICCV 2003
- Modeling the World from Internet Photo Collections. N. Snavely et al. IJCV 2007
- 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