This is the personal homepage of Gernot Ziegler.

Professional biography

Professional Biography

PhD thesis

Connected Components

Locating connected regions in images and volumes is a substantial building block in image and volume processing pipelines. We demonstrate how the Connected Components problem strongly benefits from a new feature in the Kepler architecture, direct thread data exchange through the SHUFFLE instruction. Our results are unchallenged in speed at the moment.

The original implementation is in CUDA, but the algorithm is general enough to be ported to OpenCL or OpenGL Compute (e.g. OpenGL 4.3 or OpenGL ES 3.1).
Presentation Video A Presentation Slides A

This version utilized the new intrawarp communication commands (aka shuffle commands) to accelerate the static connectivity computation:
Presentation Video B | Presentation Slides B

Marching Cubes using HistoPyramids

Summed Area Ripmaps

GTC 2012 talk PDF

Eikonal Rendering

Sourcecode is stored as gpu_lightsim/ in the SVN tree of the NVision Project.

More: Eikonal rendering project homepage | Supplemental (Submission | Slides) | | GPU Data Structures

Region QuadTree/OcTree Analysis

Footage: GusGus, Call of the Wild

Region QuadTree/Octree analysis

(aka Real-time quadtree analysis using QuadPyramids )

As an extension of GPU Data Compaction, we are now able to generate quadtrees and octrees from 2D or 3D data arrays without CPU intervention. Our current results promise applications in the field of PDE analysis, real-time computer vision, high-speed video compression, and volume analysis/traversal.

Presented at the SPIE Electronic Imaging conference in San Jose, USA, Jan 2007.

It is further able to create geometry on SM3.0 GPUs.

Sourcecode is stored in the SVN tree of the NVision Sourceforge Project.

More: Paper | preview PDF Slides

GPU Data Compaction

We have created a GPU algorithm which generates lists of selected elements from a larger 2D data array, without any data transfer from GPU to CPU.
It can be used for point cloud generation, intermediate result compaction, sparse matrix extraction, image processing and binning operations - both in 2D and 3D.

It is further able to create geometry on SM3.0 GPUs.

Presented at the VMV 2006, Aachen, Germany, Nov 2006 as "GPU PointList Generation through HistoPyramids". x

Sourcecode is stored in the the SVN tree of the NVision Sourceforge Project.

Footage: Demo video "Heartbreaker", Art Tevs
Heart model, 3000 vertices, decomposed into point cloud in 30 ms
More: PDF Slides | Demovideo "HeartBreaker" | Detailed TechReport & Paper | GPGPU discussions

GeoCast (Unifying Depth Video with Camera Meta-Data)


As a tool for our research, we developed a storage format for placing multiple, dynamic 2.5D point sample streams (e.g. RGBZ video) or color video projections into the context of a common world space, built on top of the OpenGL specification.

The approach utilizes the concept of projective geometry to let virtual projectors "cast" the data from where it was originally recorded by the involved cameras.

We also explain how this format can act as common interchange format for the camera parameters of lightfield/multi-view video footage.

The GeoCast Project on SourceForge welcomes you to participate. More ...

GPU-assisted Texture Domain Videocompression

Having a motion capture of the recorded human actor model available, we used the GPU to re-project the video frames into the texture domain. Afterwards, we applied two different compression algorithms to the now-motion-compensated video data. This resulted in the video texture compression for the MPI free viewpoint video system.
Presentation slides