Whitted ray tracer

I already have a simple ray tracer running in OpenCL!

I have written a very simple application to set up a kernel ( running at full screen ) and send some data to the gpu ( scene, camera, lights ). Then the cpu waits for the gpu to do the rendering, reads back the resulting buffer into client memory and copies it to the front buffer of the window ( Note to myself: Explore OpenCL-OpenGL interoperability to avoid reading form GPU memory to client memory and back again)

The ray tracer admits adjustable levels of recursion. This is an image of a very simple scene consisting of 4  spheres and one point light.






Hello and welcome to my personal blog.

I just started learning OpenCL, and, as I love ray tracing, I couldn’t think of a better exercise to learn than writing a real time path tracer with it ( not really original indeed ). The idea is to begin ¬†with a very simple ray tracer, and keep adding features until we come up with a real time renderer to produce unbiased montecarlo path traced images on the GPU. So, there we go!