This is a comprehensive list of resources related to computer graphics, including books, courses, tools, websites, and projects. I try to keep it updated.
Name | Date | Location | Description | Links |
---|---|---|---|---|
VISIGRAPP | February 26–28, 2025 | Rome, Italy | The 20th International Conference on Computer Vision Theory and Applications | Site |
IEEE VR | March 8-12, 2025 | Saint-Malo, France | The Premier International Conference on Virtual Reality and 3D User Interfaces | Site |
GDC | March 17-21, 2025 | San Francisco, USA | The largest annual conference for game developers, covering all aspects of game creation, from design to business | Site WIKI |
Eurographics | May 12–16, 2025 | London, UK | The 46th Annual Conference of the European Association for Computer Graphics | Site WIKI |
EuroVis | June 2-6, 2025 | Luxemburg | Visualization techniques and research | Site |
SIGGRAPH | August 10–14, 2025 | Vancouver, Canada | The largest exhibition in computer graphics and interactive techniques | Site WIKI |
Gamescom | August 20-24, 2025 | Cologne, Germany | One of the biggest gaming events, showcasing the latest in game development and interactive entertainment | Site WIKI |
I3D | May, 2025 (TBD) | TBD | I3D is the leading conference for real time 3D computer graphics and human interaction | Site |
CGI | July, 2025 (TBD) | TBD | It is one of the oldest annual international conferences on computer graphics | WIKI |
Pacific Graphics | October, 2025 (TBD) | Asia-Pacific region | The 33rd Pacific Conference on Computer Graphics and Applications | |
MIGS | November 2025 (TBD) | Montreal, Canada | A leading game development event focusing on design, programming, business, and art | |
ICAT-EGVE | December, 2025 (TBD) | TBD | A merger of the International Conference on Artificial Reality and Telexistence (ICAT) and the Eurographics Symposium on Virtual Environments (EGVE) |
If you're looking to dive deeper into computer graphics, these books are great resources to learn from:
Book | Description | Link |
---|---|---|
Real-Time Rendering by Tomas Akenine-Moller | It is an excellent resource for high-performance graphical applications. It offers detailed explanations and contains many examples to illustrate its topics. This book is considered one of the best in the field, and it's a must-read for those interested in real-time rendering techniques. | Amazon Site |
Physically Based Rendering: From Theory to Implementation by Matt Pharr | Matt Pharr's book teaches how to create a ray tracer for rendering realistic images. It provides a thorough explanation of the technique, along with as much code as theory behind it. The book also has a free online version, making it accessible for everyone. | Amazon Site |
The Graphics Codex by Morgan McGuire | This book is a collection of articles on computer graphics. It covers a wide range of topics, from the basics of rendering to advanced techniques. It's a great resource for those looking to learn more about computer graphics. | App store Site |
Ray Tracing in One Weekend by Peter Shirley | This free book by Peter Shirley helps you implement a basic ray tracer in C++. It covers the minimum required to create a ray tracer for generating amazing images in a short amount of time. It's perfect for those looking to get started quickly with ray tracing techniques. | |
Ray Tracing: The Next Week by Peter Shirley | The book builds on the first one by adding more effects, like textures and motion blur. It provides a deeper understanding of ray tracing and allows readers to expand their knowledge and improve their rendering projects. | |
Ray Tracing: The Rest of Your Life by Peter Shirley | The last book in Peter Shirley's series delves into the mathematical themes necessary for building more complex and complete renderers. This book will help readers enhance their rendering capabilities and deepen their understanding of the underlying concepts. | |
3D Math Primer for Graphics and Game Development by Fletcher Dunn | Fletcher Dunn's book focuses on the math necessary for game development. It covers a wide range of mathematical concepts and provides practical examples to help readers understand and apply these concepts in real-world situations. | Site Amazon |
Fundamentals of Computer Graphics by Steve Marschner | Steve Marschner's book is a great resource for those interested in computer graphics. It covers a wide range of topics, including 2D and 3D graphics, ray tracing, and rendering. It also provides a thorough explanation of the mathematics behind the techniques. | Amazon |
Computer Graphics: Principles and Practice in C by James D. Foley | This book is a great resource for those interested in computer graphics. It covers a wide range of topics, including 2D and 3D graphics, ray tracing, and rendering. It also provides a thorough explanation of the mathematics behind the techniques. | Amazon |
Ray Tracing from the Ground Up by Kevin Suffern | Kevin Suffern's book guides readers through implementing a ray tracer, starting with a bare-bones project. Each chapter introduces a new concept to add to the renderer, making it easy for readers to understand and follow along with the process. | Amazon |
Advanced Global Illumination by Philip Dutre | Philip Dutre's book focuses on the fundamentals of realistic image synthesis, such as light transport. It provides a comprehensive overview of global illumination techniques, helping readers understand and apply these concepts to their rendering projects. | Amazon |
Realistic Image Synthesis Using Photon Mapping by Henrik Jensen | Henrik Jensen's book focuses on the fundamentals of realistic image synthesis, such as light transport. It provides a comprehensive overview of global illumination techniques, helping readers understand and apply these concepts to their rendering projects. | Amazon |
Realistic Image Synthesis Using Photon Mapping by Henrik Jensen | Henrik Jensen's book focuses on the fundamentals of realistic image synthesis, such as light transport. It provides a comprehensive overview of global illumination techniques, helping readers understand and apply these concepts to their rendering projects. | Amazon |
Course | Description | Link |
---|---|---|
Introduction to Computer Graphics by Cem Yuksel and Jacob Haydel | This project-based course introduces students to the fundamentals of computer graphics, including 2D and 3D graphics and computer animation. Learners are gain familiarity with key algorithms, data structures, and mathematical foundations. The course covers a broad range of topics rather than delving deeply into specific subjects, with further specialization available in other university offerings. The recommended textbook is "Fundamentals of Computer Graphics" by Marschner and Shirley. All lectures are conducted online via video conferencing. | Youtube Course Site Author's site |
Interactive Computer Graphics by Cem Yuksel and Elie Diaz | This course delves into the fundamental concepts of interactive rendering in computer graphics, with a focus on 3D information applications such as video games and visualization. You will learn advanced rendering techniques, writing complex GPU shaders, implementing modern interactive rendering methods, and GPU programming for interactive rendering using APIs like OpenGL and GLSL, while also being allowed to explore other graphics APIs. It is recommended to watch Introduction to Computer Graphics by Cem Yuksel and Jacob Haydel at first | Youtube Course Site Author's site |
-
Immersive Math by J. Ström, K. Åström, and T. Akenine-Möller. It is a groundbreaking online book featuring fully interactive figures, designed to make learning math more engaging and intuitive. Also, the site provides a unique and innovative approach to mastering linear algebra, making it an invaluable resource for students, educators, and professionals looking to deepen their understanding of this fundamental mathematical discipline.
-
The Book of Shaders by Patricio Gonzalez and Jen Lowe. Patricio Gonzalez and Jen Lowe's site is focused on the practical teaching of GLSL fragment shaders. It's filled with editable code examples that demonstrate how shaders work, making it an excellent resource for those looking to get hands-on experience with shader programming.
-
ScratchAPixel. Teaches image rendering from basic to advanced. It offers a wealth of information on various rendering techniques, making it an excellent resource for both beginners and experienced developers looking to improve their skills.
-
Learn OpenGL. A comprehensive resource site that contains tutorials by topic, code examples, and even a PDF version of its contents. It's a great place to start for anyone looking to learn OpenGL 3.3 or higher, as it provides easy-to-follow instructions and practical examples.
-
WebGL Fundamentals. This resource provides a thorough understanding of WebGL and its underlying principles, ensuring that you grasp the latest techniques and approaches such as 3D rendering, lighting, 2D transformations, 3D perspectives, camera operations, shaders and GLSL, image processing, geometry, textures, and much more. There are also WebGL2 Fundamentals and WebGPU Fundamentals.
-
OpenGL tutorial. This tutorial site is dedicated to helping users learn OpenGL 3.3 or higher. It covers a wide range of topics and provides useful resources to help users get started with and master OpenGL.
-
Learn Vulkan. Tutorial for learning Vulkan API. It provides a step-by-step guide to help users understand and utilize the powerful features of Vulkan in their projects.
-
Real-Time Rendering recommended books. A list of recommended books on the Real-Time Rendering website. This list provides a valuable starting point for anyone looking to expand their knowledge of computer graphics and real-time rendering techniques.
-
Casual effects by Morgan McGuire. Morgan McGuire's site is a great resource for those interested in learning about real-time rendering techniques. It provides a wealth of information on various rendering techniques, making it an excellent resource for both beginners and experienced developers looking to improve their skills.
-
Turtletoy is an interactive web-based platform that allows users to create, explore, and share generative art using Turtle Graphics. The website provides a simple JavaScript-based scripting environment for designing 2D graphics, and patterns. Users can browse the gallery to discover and learn from other artists' creations, or experiment with their own designs using the accessible turtle-based programming language.
-
ShaderToy is a popular online platform for creating, sharing, and exploring GLSL shaders. It provides a rich set of features, including live coding, real-time previews, and a vast library of user-contributed shaders.
-
ShaderFrog is an online shader editor and asset manager that allows users to create, edit, and export shaders for use in Three.js, Unity, and other game engines. It supports visual shader editing and also offers a text-based editor for advanced users.
-
ComputeToys is an innovative and experimental WebGPU compute shader editor designed to help developers explore the capabilities of the WebGPU API for creating high-performance graphics applications in the browser. Currently, the editor supports only Chrome (version 113 and above) due to the limited support for WebGPU in other browsers. The user-friendly interface and tools available on the site enable developers to gain insights into WebGPU's potential while awaiting broader browser adoption.
-
Alma is a platform designed to unleash your creativity with generative graphics through an interactive and experimental playground. By composing nodes, you can effortlessly craft WebGL shaders without writing a single line of code. Link to the Github repo.
-
GLSL Sandbox is a shader editor that allows users to write shaders using the GLSL language. It provides real-time previews, editable shader code, and a gallery.
-
The Interactive Shader Format (ISF) Editor is an online tool for creating and editing GLSL shaders in the ISF format, which is commonly used in VJ software, live performance applications, and interactive installations.
-
Shader Park is an interactive web-based platform that enables users to create, explore, and share 3D shaders using a JavaScript library or directly using GLSL. The site offers a GLSL editor, providing boilerplate raymarching code for rendering Signed Distance Field (SDF) shapes, while still allowing users to implement their own. The platform's focus is on the JavaScript library, and the GLSL API is not extensively documented. Users can create and color SDFs using functions like surfaceDistance and shade, or implement custom raymarchers. The Shader Park community is encouraged to contribute to the documentation and examples through its GitHub repository.
-
Jendrik Illner's blog. Jendrik Illner, a 3D programmer at Ubisoft, shares weekly summaries of articles about 3D graphics, including shader tutorials, real-time rendering papers, and more. This blog is a valuable resource for keeping up-to-date with the latest developments in the field.
-
Alan Wolfe's blog. Alan Wolfe's blog is a comprehensive resource covering a wide range of topics related to math, programming, computer graphics, and more. With posts grouped into various categories, the blog offers insights into original research, inventions, programming techniques, game development, machine learning, and other technical subjects.
-
Inigo Quilez's site. This site features articles and shader demos from the co-creator of ShaderToy, Inigo Quilez. It's a valuable resource for learning about shaders and experimenting with various techniques.
-
Ray Tracey's blog. Sam Lapere shares numerous posts about real-time rendering on his blog. It's an excellent resource for those looking to stay informed about the latest advancements in real-time rendering techniques.
-
RenderDoc is a free and open-source graphics debugging tool that allows developers to capture and analyze frames from DirectX, Vulkan, and OpenGL applications. It provides a user-friendly interface to inspect the pipeline state, shader inputs and outputs, textures, and buffers of a captured frame, helping developers to diagnose and fix graphics issues. RenderDoc is widely used in game development and has become an essential tool for graphics programmers.
-
Spector.js is a free and open-source tool for debugging and profiling WebGL applications. It allows developers to capture frames, inspect the WebGL state, and profile the performance of WebGL applications. Spector.js provides an easy-to-use UI that displays the captured frames along with their associated WebGL calls, helping developers to diagnose and fix issues related to WebGL state changes and performance. It can be integrated into any WebGL application and has become a popular tool among web developers who work with WebGL.
-
Xcode is Apple's integrated development environment for macOS, which includes tools for profiling Metal applications.
-
Intel Graphics Performance Analyzers is a suite of tools that allows you to profile graphics performance of different APIs including DirectX, OpenGL, Vulkan.