DirectX 11 – Geometry Shader

This program demonstrates the use of geometry shader in DirectX 11.

Cylinder shape object is drawn originally as a circle. Then the circle’s vertices are modified by geometry shader into a cylinder.
Object is rendered in wireframe mode to show the structure of the cylinder object.

Back-face culling is disabled.
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

DirectX 11 – Terrain

Terrain rendering using DirectX 11.

Terrain’s vertices are generated using procedural method(equation).
Vertex color is assigned to each vertex generated based on the height value(position of the vertex on the terrain) of that vertex. Vertex color is interpolated during rendering pipeline.

Camera can be moved around in the scene.
Back-face culling is disabled.
Uses fixed-axis rotation.

Program file can be downloaded here.

PC 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 move the camera around in the scene.
Double-click to toggle between solid and wireframe mode.
Scroll up and down to zoom in and zoom out.

Platform: Windows
Programming Language: C/C++, HLSL

DirectX 11 – Procedural Geometry

A cone shape object generated using procedural method(equation).

Color for each vertex(vertex color) of the cone object was assigned randomly each time the program is launched.

Camera can be moved around in the scene. Back-face culling is enabled.
In wireframe mode, the backside of the cone object is not visible due to back-face culling.
Camera can be zoomed in past the front-facing surface of the cone object. Nothing is visible in that state due to back-face culling.
Uses fixed-axis rotation.

Program file can be downloaded here.

PC 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 move the camera around in the scene.
Double-click to toggle between solid and wireframe mode.
Scroll up and down to zoom in and zoom out.

Platform: Windows
Programming Language: C/C++, HLSL

DirectX 11 – Texture

Rotatable cube with texture animation.

Cube object consists of 24 vertices with each side of the cube detached from the others.
Rotation transformation is applied to the object using fixed-axis system.
Texture animation is implemented using a single texture atlas and transform texture coordinate technique.

Program files can be downloaded here.

PC 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.

DirectX 11 – Cube

Rotatable cube.
Cube object consists of 8 vertices and a vertex color for each vertex.
Rotation transformation is applied to the object using fixed-axis system.

Program files can be downloaded here.

PC 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