Computer Graphics from scratch

gabrielgambetta.com

Comprehensive guide to understanding computer graphics fundamentals, including 3D rendering and mathematical principles. Build fully functional renderers without relying on existing APIs.

Technical TutorialsComputer GraphicsJavaScript

Introduction

Computer Graphics from scratch is a comprehensive guide to understanding the fundamentals of computer graphics, including 3D rendering and the mathematical principles behind it.

Highlights

  • Covers the same topics as a full university course, based on the author's years of teaching the subject at university
  • Favors simplicity and clarity in the presentation, with no hand-waving or trickery
  • Builds up to two complete, fully functional renderers: a raytracer and a rasterizer
  • Provides informal pseudocode throughout the text, as well as links to fully working implementations written in JavaScript

Recommendation

This book is for anyone with an interest in computer graphics, from high-school students to seasoned professionals. It provides the knowledge needed to write software renderers, without relying on existing rendering APIs, making it a valuable learning experience.

How GetVM Works

Learn by Doing from Your Browser Sidebar

Access from Browser Sidebar

Access from Browser Sidebar

Simply install the browser extension and click to launch GetVM directly from your sidebar.

Select Your Playground

Select Your Playground

Choose your OS, IDE, or app from our playground library and launch it instantly.

Learn and Practice Side-by-Side

Learn and Practice Side-by-Side

Practice within the VM while following tutorials or videos side-by-side. Save your work with Pro for easy continuity.

Explore Similar Hands-on Tutorials

Hands-On Data Visualization 9
Technical TutorialsData ScienceJavaScript
Comprehensive guide to data visualization techniques and best practices. Learn to design interactive charts and customized maps for your website using free and easy-to-learn tools.
Graphics Programming Black Book 5
Technical TutorialsGame Development
Explore advanced graphics programming and optimization techniques from industry expert Michael Abrash. Covers 3D graphics, Doom and Quake game technology, and more.
Introduction to Modern OpenGL 18
Technical TutorialsC++Computer GraphicsOpenGL
Learn the latest OpenGL features and create modern graphics applications with interactive examples and expert guidance.
Learning Modern 3D Graphics Programming 26
Technical TutorialsComputer GraphicsOpenGL
Comprehensive guide to modern 3D graphics programming, covering the latest techniques and technologies. Suitable for beginners and experienced developers.
Comprehensive Guide to Learning GraphQL | API Development 12
Technical TutorialsJavaScript
Learn GraphQL, a powerful query language for APIs, from a reliable and community-driven source. Covers essential concepts and practical examples to build efficient, flexible, and scalable APIs.
HTML5 Canvas Notes for Professionals 22
Technical TutorialsHTMLJavaScript
Comprehensive guide covering HTML5 Canvas topics including text, polygons, images, paths, animation, and more. Compiled from Stack Overflow Documentation.
HTML5 Shoot em Up in an Afternoon 29
Technical TutorialsHTMLJavaScript
Create a complete shoot 'em up game in a single afternoon using HTML5 and JavaScript. Learn essential game development topics like sprites, game loop, player actions, and object groups.
Building Front-End Web Apps with Plain JavaScript 12
Technical TutorialsJavaScriptObject-Oriented Programming
Learn how to build front-end web applications with plain JavaScript, without using any frameworks or libraries. Covers fundamental object-oriented programming concepts.
Clean Code JavaScript | Software Engineering Principles 11
Technical TutorialsJavaScript
Comprehensive guide to writing readable, reusable, and refactorable JavaScript code. Covers best practices for variables, functions, objects, classes, testing, and more.