This real-time ray trace renderer utilizes voxels (3d texels) aligned in a uniform grid using a modified Bresenham 3D line traversal, and is implemented on the GPU using NVIDIA CUDA.
One of the advantages of voxels is their precision: meshes are no longer bounded by triangles and edges and mapped textures, but independant voxels can be used instead. Voxels also allow for a very
precise manipulation of meshes (e.g. dynamic destruction), given that a suitable dynamic acceleration structure can be found.
The renderer is currently capable of achieving ~50fps on a G90-generation NVIDIA card with first-hit ray tracing only (see car screenshot, a high polycount sampled scene) on a 1024x1024x256 grid and a 512x512 viewport and is capable of performing secondary (reflection) raytracing as well.
Real-time voxel animation, global illumination (photon mapping), efficient data storage methods and data streaming are currently some of the subjects being developed for this renderer, which is under active development.
Demo application (car scene)
An early version of the voxel renderer is available for download. This version shows the ability to perform first-hit ray tracing against the voxel scene.
A NVIDIA CUDA-compatible graphics card (G80 and up) is required, and CUDA-capable drivers may be necessary to run the application.
Related links
This is a high-speed software renderer that splats (projects) voxels from the scene onto the screen by using a paraboloid camera.
Paraboloids can be used whenever it is necessary to capture an entire hemisphere in the viewport, e.g. in techniques such as
imperfect shadow maps. The renderer is fairly minimalistic but should show the theory behind it.
Downloads
This point splatter renderer utilizes OpenGL (GL_POINTS) together with NVIDIA Cg shaders, forming "splats", to render point cloud models without using any polygons.
The project also includes a converter that is capable of converting triangle-based models (for testing purposes) into point clouds by utilizing raycasting.
Related links
This is a DirectShow video renderer filter interface that is capable of rendering directly to a Direct3D 9 texture.
It can be used to easily redirect DirectShow video playback to a 3D texture inside your application.
The code is based on existing DirectShow code, but fixes some compatibility issues related to formats such as XviD and
adds a nice interface to use. For an example of usage, check out the Multi Theft Auto: San Andreas Deathmatch main menu scene.
Downloads