num_pages: 270
description: Brace yourself for a fun challenge: build a photorealistic 3D renderer from scratch! Its easier than you think. In just a couple of weeks build a ray tracer that renders beautiful scenes with shadows reflections brilliant refraction effects and subjects composed of various graphics primitives: spheres cubes cylinders triangles and more. With each chapter implement another piece of the puzzle and move the renderer that much further forward. Do all of this in whichever language and environment you prefer and do it entirely test-first so you know its correct. Recharge yourself with this projects immense potential for personal exploration experimentation and discovery.About this TitleThe renderer is a ray tracer which means it simulates the physics of light by tracing the path of light rays around your scene. Each exciting chapter presents a bite-sized piece of the puzzle building on earlier chapters and setting the stage for later ones. Requirements are given language-agnostically; its up to you to translate them into tests and code using whatever language you prefer. When the project is complete youll look back and realize youve built an entire system test-first!Theres no research necessaryall the necessary formulas and algorithms are presented and illustrated right here. Dive into intriguing topics from fundamental concepts such as vectors and matrices; to the algorithms that simulate the intersection of light rays with spheres planes cubes cylinders and triangles; to geometric patterns such as checkers and rings. Lighting and shading effects such as shadows and reflections make your scenes come to life and constructive solid geometry (CSG) enables you to combine your graphics primitives in simple ways to produce complex shapes.Play and experiment as you discover the fun of writing a ray tracer. Accept the challenge today!What You NeedAside from a computer operating system and programming environment youll need a way to display PPM image files. On Windows programs like Photoshop will work or free programs like IrfanView. On Mac no special software is needed as Preview can open PPM files.
language: English
title: The Ray Tracer Challenge: A Test-Driven Guide to Your First 3D Renderer
publisher: Pragmatic Bookshelf