Postprocessing implemented in DirectX 11 using Direct Compute.
Full-screen blurring is implemented.
In comparison to normal image postprocessing techniques where the scene has to be rendered into texture and postprocess the generated texture. Then the postprocessed texture might get rendered into texture and postprocess, again and again, several times in a frame depending on the postprocessing techniques required. Using Direct Compute, the scene can be rendered into texture only one time in a frame. Then the texture generated can be processed by compute shader to create the desired postprocessing effects.
Postprocessing technique, blur, is implemented using Gaussian blur.
Direct Compute is an API, a part of DirectX that is used to perform calculations on GPU.
The process of calculating data on GPU can be referred to as General-Purpose computing on Graphics Processing Units, abbreviated as GPGPU.
The calculation does not have to involve graphics. Many calculations benefit from the parallel processing of GPU such as calculations in scientific fields.
Direct Compute operates on the use of compute shader. There are other APIs for GPGPU such as compute shader in OpenGL, OpenCL, NVIDIA CUDA, and AMD STREAM.
Uses fixed-axis rotation.
Program file can be downloaded here.
Requirements: DirectX 11 supported graphics card, Windows 7/8/8.1/10/11, Visual C++ Redistributable Packages for Visual Studio 2013(x86).
Control:
Left-click anywhere in the scene then hold left-click and drag the mouse to rotate the object.
Platform: Windows
Programming Language: C/C++, HLSL
Resources: Fire animation textures(as separate image files, not texture atlas) are from companion DVD of the book 3D Game Programming with DirectX 11 by Frank D. Luna, Mercury Learning.
Texture loading is implemented using DirectX TK library.