AudioSmoke visual remix on surface – CUDA video processing and visualization

AudioSmoke is a realtime 3D visual computing application for massive particle visualization. This visual remix uses the original video art from AudioSmoke as an input source for the dynamic heightmapping method from the 2 Million Pixel Experiment to obtain a new visual style. This time the visualization is based on a tesselated surface instead of a point cloud.

Posted in Experiments | Tagged , , , , , , , , , , , , , , , , , , , , | Comments Off

AudioSmoke – 32M gravity particles in realtime 3D (DirectX + CUDA)

AudioSmoke is a realtime 3D visual computing application to visualize millions of particles under different force field conditions. CUDA is used for the parallel computation of the force field model. The particles react on sound input (FFT analysis) and can be explored interactively in 3D space. The video shows 32 million particles under different force fields and parameter settings.

Posted in Experiments | Tagged , , , , , , , , , , , , , , , , , , , , , , , , , | Comments Off

GPUerror – propagation of error on a GPU revealing colorful structure in volume

By serendipity this visual computing experiment led to a visualization of colorful structures that evolve from the parallel propagation of errors on a graphics processing unit (GPU). We wanted to transfer color values in subsequent volume slices using an OpenCL kernel. Due to concurrent memory access this transfer operation was erroneous and produced interesting visual patterns in a point-based visualization. Meanwhile we fixed this “error” with another kernel but we wanted to share the initial results as a piece of visual computing art. The visual patterns reveal the structure of block-wise kernel execution on the GPU. Further information on this experiment and code snippets (PDF).

Posted in Experiments | Tagged , , , , , , | Comments Off

CUDA Function Animator

As a mathematician, I wanted to do this experiment with CUDA. Fascinated by function studies, I made an application that plots mathematical function into 3D. For animation purposes the values for a constant K are varying over time to explore the family of curves in real-time. The CUDA kernel is compiled dynamically with all parameters and function terms.

Posted in Experiments | Tagged , , , , , , , | Comments Off

DxParticleSound – FFT Particle Sound Spectrum

This experiments deals with music visualization. The goal was to create as many concentric circles with radius and different color that represented a specific musical frequency, from the lowest frequency (radius = 0, color = blue) at the highest frequency (radius=k, color = yellow), each pixel is connected to an element of the vector resulting from the FFT. At the end the alpha and the color were assigned in the CUDA kernel depending on the speed and position. With this, you can watch a fountain of particles reacting to music.

Posted in Experiments | Tagged , , , , , , , , , , | Comments Off

CUDA experiment III – 2 million pixel

This CUDA experiment maps a FULL-HD (1920×1080 @ 30 frames per second, MPEG2 compression) video source into 3D space. Each frame is processed in real-time on the GPU using CUDA. Each pixel in a frame (2.073.600 pixels per frame) is scaled by its luminance value and given the original color. The camera flight is realized with a 3D space navigator in real-time. This application is written in C# using DirectX 11, CUDA.NET and DirectShow.NET libraries. Benchmarks: GPU load is about 85% (GTX 260), GPU memory controller load 25%, CPU (i7-920) is at 20%.

The soundtrack is made by Ludwig Berger:
http://ludwigberger.com/

As slashcam.de reports, this application might be utilized for a quality check of video footage, like in a waveform monitor:

http://www.slashcam.de/news/single/Echtzeit-3D-Waveform-Monitor-in-CUDA-8715.html

Interview in the NVIDIA CUDA Newsletter, Nov. 10, 2010
http://www.nvidia.com/content/newsletters/web/CUDA-Week-in-Review-Nov-10-10.html

 

 

Posted in Experiments | Tagged , , , , , , , , , , , | Comments Off

CUDA experiment II – cell grid kernel

Experimental application in C# using CUDA for parallel computation. The grid is quite small sized, but the GPU does it’s work: 512×512 pixels are computed by a cell formula that calculates the difference between the average neighborhood and the current cell’s value. Kernel time is about 3-4 milliseconds, stressing the GPU (GTX 260) only at 2-4% load. The sound is added from an experiment for generating digital noise.

Posted in Experiments | Tagged , , , , , , , | Comments Off

CUDA experiment I – sinus kernel

Experimental application in C# using CUDA for parallel computation. The grid is quite small sized, but the GPU does it’s work: 512×512 pixels are calculated by various sinus functions that use their output as input while cycling through time. Kernel time is about 3-4 milliseconds, stressing the GPU (GTX 260) only at 2-4% load. The sound is added from a similar experiment that uses visually generated sinus patterns.

Posted in Experiments | Tagged , , , , , , , , | Comments Off