OpenCL Ray Tracer

Lately I have been working on an internship application for a movie visual effects company. For the application they have asked me to work on a ray tracer. I love ray tracers. It was initially a cpu-based tracer drawing frames into .tga files but I decided to have it both realtime and file-based output. I have created a project where I can just flip a flag and do both.

Current status image after the jump!

Made from tga output converted into png and then .gif (Yes. I know, the horrors of conversion chains)

Here’s today’s progress:

Testing specular

Speculars, a bit more realistic.

Testing different specular levels for spheres.

Speculars ignoring the light distance (unrealistic)

More realistic speculars!

Reflection testing (All surfaces 100% reflective)

Deeper reflections

Object-based reflectivity. The small ball on the right is using a mirror material (no diffuse or specular, 1.0 reflectivity), the green small ball has 0.7 reflectivity, the purple balls have 0.5 and the floor has 0.1.

Leave a Reply

Your email address will not be published. Required fields are marked *