|
February 27, 2019
Pixar worked on their internal ray tracer, RenderMan, from 1984 until its first internal release in 1988. It was another seven years before they released their first feature-length animated film in 1995. RenderMan continues to be the company's primary rendering engine, with continual updates that take advantage of more powerful hardware. Building your own ray tracer might seem like an impossible challenge, even for experienced developers, but you may surprise yourself if you try. In The Ray Tracer Challenge, Jamis Buck guides you through the process, but the code and tests are your own, in the language of your choice. There's plenty of room to experiment and make the code your own.
Also, A Swift Kickstart, Second Edition has been updated for Swift 5.0. If you already own a copy from us, this is a free update.
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 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; it's up to you to translate them into tests and code using whatever language you prefer. When the project is complete, you'll 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!
In print and shipping from pragprog.com/book/jbtracer.
A Swift Kickstart, Second Edition: Introducing the Swift Programming Language
Here's what's new in A Swift Kickstart, Second Edition:
- This is the Swift 5 / Xcode 10 release.
- For the Pragmatic Programmer pdf, the navigation bug has been fixed.
- I've added a mention of Raw Strings to the
print() section.
- One of the custom operators was changed from
>>> to |> as it is now widely accepted for piping forward. >>> is still used for function composition.
- I've updated the flatMap material to use the new name compactMap for the one that was renamed.
- All of the code has been tested in Xcode 10 and on Swift playgrounds.
For sale at pragprog.com/book/d-dsswift.
Upcoming Author Appearances2019-02-28 Fred Hebert,
CodeBEAM San Francisco
2019-02-28 Andrea Leopardi,
Code BEAM SF 2019
2019-03-15 Johanna Rothman,
New England Software Symposium
2019-03-28 Kevin Hoffman,
Rust LATAM 2019
2019-04-09 Frances Buontempo,
ACCU
2019-04-09 Fred Hebert,
Web à Québec
2019-04-11 Frances Buontempo,
ACCU
You Could Be a Published Author
Is there a tech topic you are deeply passionate about and want to share with the rest of us? You could become a published Pragmatic Bookshelf author! Take a look at our pragprog.com/write-for-us page for details, including our 50% royalty (yes, for real!) and world-class development editors.
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 pragprog.com (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, @pragpub, Andy Hunt @PragmaticAndy.
Andy Hunt
Publisher, Pragmatic Bookshelf
Books • eBooks • PragPub Magazine • Audiobooks and Screencasts PragProg.com
Manage your subscription using your account, or permanently unsubscribe here. Sent by the Pragmatic Programmers, LLC. • 9650 Strickland Rd Ste 103-255• Raleigh NC 27615
|