RtQt - point cloud raytracer

RtQt - points and surface

The RtQt program was written for my minor thesis "Ray tracing of point clouds". Point clouds are aquired in different ways, e.g. using a laser scanner to scan a surface. Depending on the scanning method the points may have additional normal information, but there is no connectivity data like for polygon meshes. Therefore you have no surface for a ray-surface intersection. The thesis deals with this problem and several algorithms are implemented. The program has the following features:

RtQt gui

The program is written in C++ and is using Qt for the gui and threading parts. Right now it is only available for windows, but can be easily ported to Linux or MacOS. The point cloud is either extracted from obj models or directly exported from 3dsMax using a self written exporter format. I also wrote a Maya plugin which visualizes the kd-tree by creating a box for each cell containing a primitive. To enhance the appearance i added the possibility to animate the growing of the kd-tree. The tree can grow in either the x, y, z-axis or in the order the kd-tree was build. You can also create a locator which will serve as a seed point for the grow animation. The grow animation itself is handled by the Maya plugin node, but all kd-tree calculations are done by the external RtQt programm. The communication between Maya and RtQt is done by using (Py)Qts networking functionality. The Maya plugin itself is written in C++ and has an optional GUI component written in Python/PyQt.

Download RtQt (Win x64) (requires Microsoft Visual C++ 2010 Redistributable Package (x64))

Download RtQt Maya plugin (requires Maya 2012 Win/Linux x64 or Maya 2013 Win x64)

RtQt - points and surface RtQt - points and surface RtQt - points and surface RtQt - points and surface RtQt - points and surface

The following animation was rendered using the RtQt Maya plugin. To create the camera path I wrote a simple Python script which will record the movement while navigating in the viewport. The plugin can be downloaded here.

References:

[SJ00] SCHAUFLER, Gernot ; JENSEN, Henrik W.: Ray Tracing Point Sampled Geometry, 2000
[LMR07] LINSEN, Lars ; M√úLLER, Karsten ; ROSENTHAL, Paul: Splat-based ray tracing of point clouds, 2007
[AA07] ADAMS, Bart ; ADAMSON, Anders: Ray tracing of point models. In: Point Based Rendering, 2007