Awesome
graphics-resources
A few of my bookmarks related to game development and realtime graphics programming.
Bulk Download
You can use gh-readme-scrape to bulk download some of the content here for offline reading. For example:
gh-readme-scrape mattdesl/graphics-resources resources/ -e pdf,pptx,ppt --rename
This will download all PDFs and power-point slides into a folder called resources
.
Topics
- Physically Based Rendering
- Color Space
- Light & Shadow
- Environments
- Time
- Post-Processing
- Ray Tracing & Distance Functions
- Text, Lines & Shapes
- Non-Photorealistic Rendering
- Math
- Misc Optimizations
- Collections
- Bloggers
- Tools
Physically Based Rendering
- Readings on Physically Based Rendering
- The State of Rendering (2013)
- jMonkeyEngine's Physically Based Rendering (2014)
- CodingLabs: Physically Based Rendering I
- CodingLabs: Physically Based Rendering II
- SIGGRAPH Shading Courses: 2012, 2013 and 2014
- Deferred Shading Tutorial (2005)
- Spherical Harmonic Lighting: The Gritty Details (2003)
- Spherical Harmonics for Beginners (2013)
- A Tiny Improvement of Oren-Nayar Reflectance Model (2012)
- Plausible Environment Lighting in Two Lines of Code (2013)
- Microfacet Models for Refraction through Rough Surfaces (2007)
- Artist Friendly Metallic Fresnel (2014)
- Realistic Rendering of Blue Ice (2009)
- Advanced WebGL - Irradiance Environment Map (2011)
- Irradiance Volumes for Games (2012)
- Wolfire Blog - Physically Based Rendering (2015)
Color Space
- CodingLabs: Gamms vs Linear
- Filmic Games: Linear-Space Lighting (i.e. Gamma) (2010)
- GPU Gems 3: The Importance of Being Linear (2008)
Light & Shadow
- Shading Effects in Left 4 Dead 2 (2010)
- The Illustrative World of Team Fortress 2 (2008)
- Hardware-Accelerated Global Illumination by Image Space Photon Mapping (2009)
- Ambient Occlusion Fields (2005)
- Phong Illumination Model (2012)
Environments
- Rendering Grass in Real Time with Dynamic Lighting (2005)
- Water Flow in Portal 2 (2010)
- Manipulating UVs through Color Data in Portal 2 (2011)
- WebGL Sky Rendering (2011)
- WebGL Terrain and Grass Rendering (2011)
- Zephyros Anemos - WebGL Terrain Rendering
Time
Post-Processing
- Post Processing in the Orange Box (2008)
- Aggregate G-Buffer Anti-Aliasing (2015)
- Physically Based Real-Time Lens Flare Rendering (2011)
- John Chapman - Pseudo Lens Flare (2013)
- Image Imperfections & Film Grain Post-Process FX (2013)
- GLSL Cubic Lens Distortion (2011)
- Using Lookup Tables to Accelerate Color Transforms (2005)
- The Skylanders SWAP Force Depth-of-Field Shader (2013)
- GPU Gems 3: Motion Blur as a Post-Processing Effect (2008)
- GPU Gems 3: Practical Post-Process Depth of Field (2008)
Ray Tracing & Distance Functions
- Fast Soft-Shadowing on Dynamic Height Fields (2008)
- Per-Pixel Displacement Mapping with Distance Functions (2005)
- Raymarching Distance Fields (2013)
- Screen Space Glossy Reflections (2015)
Text, Lines & Shapes
- Higher Quality 2D Text Rendering (2013)
- Improved Alpha-Tested Magnification for Vector Textures (2007)
- Drawing Lines is Hard (2015)
- Material Design on the GPU (2015)
- Polygon Rendering in Ejecta (2012)
- Lecture: Polygon Triangulation (2014)
- GPU Gems 3: Rendering Vector Art on the GPU
- Drawing Text with Signed Distance Fields in Mapbox GL (2014)
- Multi-Channel SDF Text Rendering (2014)
- SDF Rendering of Color Bit Planes (2013)
Non-Photorealistic Rendering
- Watercolor Inspired Non-Photorealistic Rendering for Augmented Reality (2008)
- Advanced Real-Time Cel Shading in OpenGL (2013)
- Stroke-Based Rendering (2002)
- Hand Drawn Rendering (2012)
- Real-Time Ink Dispersion in Absorbent Paper (2005)
- "Nijimi" Rendering Algorithm for Creating Quality Black Ink Paintings (2003)
- WYSIWYG NPR: Drawing Strokes Directly on 3D Models (2002)
- Stylized Rendering Using Samples of a Painted Image (2007)
Math
- Essential Mathematics for Games and Interactive Applications (2008)
- 3D Math Primer for Graphics and Game Development, 2nd Ed (2011)
- math-as-code (2015)
- CodingLabs: World, View, Projection Matrices
- Interactive Introduction to Noise Functions (2013)
Misc Optimizations
- Fast, Branchless Ray/Bounding Box Intersections (2011)
- Combined Approximation of Fresnel Visibility (2015)
- Compact Normal Storage for Small G-Buffers (2009)
- Normal Mapping without Precomputed Tangents (2013)
Collections
- SIGGRAPH Real-Time Rendering Publications
- List of Realtime Global Illumination Techniques
- David Arcila's Game Development Resources
- awesome-opengl
- Readings on Physically Based Rendering
Bloggers
- Aras Pranckevičius
- Stephen Hill
- Sébastien Lagarde
- Angelo Pesce
- Yi-Wen Lin
- Brian Karis
- Christian Schüler
- Tom Forsyth
- Michael Chang
- Timothy Lottes
- John Chapman
- John Hable (and his older blog)
- Philp Rideout
- Mikola Lysenko
- Adrian Courrèges
- Martins Upitis
- Colin Barré-Brisebois
- Rory Driscoll
- Real-Time Rendering Blog
- Mikael H Christensen
- Fabian Giesen
- Iñigo Quilez
- Ignacio Castaño
- Jeremy Shopf
Tools
- Disney BRDF Viewer
- cmft and cmftStudio - cubemap filtering tools
- Modified AMD Cubemapgen - cubemap filtering tool
- preview-dds - minimal cross-platform DDS previewer
- CrazyBump
License
MIT, see LICENSE.md for details.