Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Literature and tutorials for writing a ray tracer

I am interested in finding recommendations on books on writing a raytracer, simple and clear implementations of ray tracing that can be seen on the web, and online resources on introductory ray tracing.

Ideally, the approach would be incremental and tutorial in style, and explain both the programming techniques and underyling mathematics, starting from the basics.

like image 483
grrussel Avatar asked Dec 12 '08 07:12

grrussel


People also ask

What is ray tracing method?

Ray tracing is a rendering technique that can realistically simulate the lighting of a scene and its objects by rendering physically accurate reflections, refractions, shadows, and indirect lighting.


2 Answers

"Ray Tracing from the Ground Up" by Kevin Suffern for getting started.

"Physically Based Rendering" by Matt Pharr and Greg Humphreys for a more advanced take on it when you've gotten comfortable with the basics.

And if you get really into it, the Ray Tracing News archives are a good read. Also, a lot of ray tracing enthusiast hang out at the ompf2.com forum.

like image 95
Boojum Avatar answered Oct 06 '22 11:10

Boojum


Ok, I haven't found any perfect answers myself, that step through from the very basics; I have found a lot of simple ray tracers, and pointers to voluminous textbooks and academic references however.

I haven't tried these ray tracers, but they look interesting and simple.

http://www.barakcohen.co.il/2008/10/ray-tracing-simple-java-open-source.html

http://blogs.msdn.com/lukeh/archive/2007/04/03/a-ray-tracer-in-c-3-0.aspx

http://www.ffconsultancy.com/languages/ray_tracer/

From the ACM Cross Roads student magazine

http://www.acm.org/crossroads/xrds3-4/raytracing.html

This one in C++ is at least short; simplicity was lost for speed

http://ompf.org/ray/sphereflake/

A PhD Thesis on some aspects of ray tracing is here

A series of articles on DevMaster is here

The OMPF forum must read series of posts can be found here

It sounds like the book "An Introduction to Ray Tracing" is what I need ;-), and the authors home page is here for more graphics related programming.

Ray tracing from the ground up includes downloadable ray tracer source code too.

MiniLight is a minimal global illumination renderer.

SmallPT is a global illumination renderer, in 99 lines of C++, with a variant using single precision float on CPU and GPU in OpenCL.

Thanks to the other posters for the pointers

like image 35
grrussel Avatar answered Oct 06 '22 13:10

grrussel