small medium large xlarge

The Ray Tracer Challenge: A Test-Driven Guide to Your First 3D Renderer, in beta

August 22, 2018

Ready for some serious, hard-core, professional geek fun? Build your own photorealistic 3D renderer from scratch, in whichever language and environment you prefer, and do it entirely test-first, so you know it's correct. Recharge yourself with this project's immense potential for personal exploration, experimentation, and discovery. Come get your copy of The Ray Tracer Challenge: A Test-Driven Guide to Your First 3D Renderer today, now in beta from

Always be learning,


The Ray Tracer Challenge: A Test-Driven Guide to Your First 3D Renderer

The 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 in plain English, which you translate into tests and code. When the project is complete, look back and realize you've built an entire system test-first!

There's no research necessary—all 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!

Now in beta from

Upcoming Author Appearances

  • 2018-08-27 Tammy Coron,
    360|iDev. Denver, Colorado
  • 2018-08-29 VM Brasseur,
    Open Source Summit North America, Vancouver, BC
  • 2018-09-03 Christina Moulton, Teak Mobile Inc.,
    try! Swift NYC
  • 2018-09-14 VM Brasseur,
    Cascadia PHP
  • 2018-09-27 Michael Keeling,
    ECSA 2018, Madrid, Spain
  • 2018-10-01 James O. Coplien,
    GewoonBoot, Amsterdam, Netherlands
  • 2018-10-08 Diana Larsen,
    Pacific Northwest Software Quality Conference (PNSQC), Portland, OR
  • 2018-10-22 VM Brasseur,
    All Things Open, Raleigh, NC
  • Did You Know?

    You can synch your ebooks among your devices via Dropbox, including updates! Just login to your account on, edit your profile, and connect your Dropbox account. See our FAQ for details.

    Don't Get Left Out

    Are your friends jealous that you get these spiffy email newsletters and they don't? Clue them in that all they need to do is create an account on (email address and password is all it takes) and select the checkbox to receive newsletters.

    Are you following us on Twitter and/or Facebook? Here's where you can find us and keep up with the latest news and commentary, and occasional discounts:

    Tell your friends! Tweet this

    Follow us on Twitter: pragprog</a>, <a href="">pragpub, Andy Hunt @PragmaticAndy.

    Coming Soon:

    • Practical Chatbots, in beta
    • Programming Crystal, in beta
    • Modern Systems Programming with Scala Native: Write Lean, High-Performance Code without the JVM, in beta

    Recently Released:

    Thanks for your continued support,

    Andy Hunt
    Publisher, Pragmatic Bookshelf

    Books • eBooks • PragPub Magazine • Audiobooks and Screencasts