Yakiimo3D

Mostly DirectX 11 Programming

Archive for the ‘Demo’ Category

DX11 DirectCompute Buddhabrot & Nebulabrot Renderer

Introduction I wrote a DX11 DirectCompute implementation of the famous Buddhabrot fractal. The implementation is an extension of my earlier Mandelbrot fractal DX11 DirectCompute program (http://www.yakiimo3d.com/2010/02/02/directcompute-mandelbrot-fractal-viewer/). I also use my Rheinhard tonemapping code (http://www.yakiimo3d.com/2010/03/13/dx11-directcompute-global-operator-photographic-tonemapping/) to bring the HDR Buddhabrot color values into the LDR framebuffer’s [0,1] range. It’s good that I used code from my [...]

[Continuar Lendo →]

DX11 DirectCompute Global Operator Photographic Tonemapping

Introduction I wrote a DX11 DirectCompute implementation of the famous global operator photographic tonemapping algorithm developed by Erik Reinhard, Mike Stark, Peter Shirley and Jim Ferwerda. My code is based on the original code provided by the authors at http://www.cs.utah.edu/~reinhard/cdrom/. As in the sample source, my implementation performs tonemapping on luminance values in the Yxy [...]

[Continuar Lendo →]

DirectCompute Mandelbrot Fractal Viewer

Introduction Following in the footsteps of other people on the Internet, I’ve written a GPGPU language Mandelbrot fractal viewer. Along with a DirectCompute implementation, I’ve also written a reference unoptimized cpu version and am really excited that the DirectCompute implementation is more than 50x times faster! (With the caveat that my cpu implementation can probably [...]

[Continuar Lendo →]

CPU Implementation of Bitonic Sort

Introduction To start off my DirectX 11 studies, I decided to write a cpu implementation of bitonic sort. Bitonic sort is an algorithm that is supposedly well-suited for parallel processing, and sample implementations exist both for DirectX 11 Direct Compute and Nvidia Cuda. 1) Nvidia Cuda SDK sample http://developer.download.nvidia.com/compute/cuda/sdk/website/samples.html#bitonic 2) DirectX SDK DX11 Direct Compute [...]

[Continuar Lendo →]