This is the final version of a RayTracer project developed in 2007 with Adeline Pihuit during our master thesis. It is composed of a fast real-time GPU raytracer developed using OpenGL and Cg that can run on a GeForce 6 (NV40, SM3.0) class GPU, and an off-line CPU recursive raytracer that can be used to compute reference images.
The application load scenes described in XML files and allows manipulating light sources and debugging individual rays.
Keys:
- Load a scene (.scn) file : ‘l’
- Manipulate light source : ‘3’ to select the light to manipulate, then CTRL+RIGHT-CLICK to move the light
- Display helpers (lights, cameras, paths…): ‘7’
- Render static image with CPU ray-tracer: ‘d’
- For other keys, display the help window: ‘h’
Project executables+dlls+scenes:
(rt.exe for GPU ray-tracing preview, rtCPU.exe for OpenGL preview, requires GeForce>=NV40)
GPURayTracerBin
Project sources :
(Visual Studio project, requires QT 4, QGLViewer, Glew and Cg 1.5 SDK)
GPURayTracerSrc
Full package:
GPURayTracerFull1_0
Slides (in french):
SoutenanceRT 10/04/2007,11:02 2.53 Mb
Features:
Both GPU and CPU raytracing engines provides near the same rendering quality. They manage multiple point and directional light sources, shadows, Fresnel reflexions and refractions, parallax bump-mapping, cube map based environment mapping and multi-sampling.
The GPU engine allows only spheres and planes rendering while the CPU engine also manage triangle meshes stored into an Octree acceleration structure. For real-time preview, the triangle meshes are rendered unsing OpenGL rasterization and rasterized objects combine correctly with real-time ray-traced ones.
Note that the CPU ray-tracing engine was design to be flexible and easily extensible and was not optimized for performance.
Some GPU real-time rendered images (10-30FPS on a GeForce 6800GT):
|
||
January 15th, 2008 on 8:40 pm
:grin :eek
February 7th, 2010 on 10:20 pm
Ubuntu Bonjour,
Pouvez-vous porter votre plus beau projet OpenGL pour ubuntu SVP.
Car je recherches une belle démo technique et un benchmarck qui utiliserais principalement le GPU pour noter une configuration.
Merci
ubuntosaure suivit de @gmail.com
October 13th, 2009 on 12:38 pm
Etudiante Salut, je suit une étudiante en 2eme année magister.ton projet m\’intéresse beaucoup.il sera très gentil de votre part si vous m\’envoyer des doc sur le rendu volumique temps réel en utilisant les GPU. sur mon contact salyhelena@yahoo.fr
merci