
Explore DirectX 11 changes, including the redesigned shader architecture and removal of the fixed function pipeline, and learn the full 3D pipeline from input assembler to output merger.
Inspect the DirectX diagnostics tool, set up DirectX 11 development with the Microsoft DirectX SDK and NVIDIA STK, and explore Windows demos: a blank window and a 3D blank window.
Explore the basic Windows application skeleton in DirectX programming by building a blank window in Visual Studio, registering a window class, creating the window, and processing the message loop.
Learn to set up a DirectX 11 blank window app by building the sample, configuring include and library directories, linking d3d11.lib, d3dx11.lib, and dxerr.lib, and initializing a swap chain.
Initialize a DirectX 11 application by creating the device, swap chain, render target view, and context; then set render target and viewport, load content, and present the back buffer.
Explore 2D graphics development in DirectX 11, demonstrating triangle rendering, texture mapping, and sprites in a 2D space, while examining color maps, normal maps, and cube maps.
Explore how triangles form 2D and 3D geometry in DirectX, using vertices and edges to build models and sprites, with mandatory positions and optional color and texture data for shading.
Define polygons, triangles, quads, meshes, and models; explain triangle lists and strips as efficient triangle representations in DirectX 11, with vertex buffers and position data.
Render a green triangle inside a blue window using DirectX 11. Compile shaders, create a vertex buffer and input layout, and draw with a triangle list to the back buffer.
Explore DirectX 11 programming by building a triangle render demo that uses COM objects, a device, swap chain, context, and shaders with an input layout and vertex buffer.
Explore texture mapping in a DirectX 11 STK sample instancing 10, showing a tree with mapped texture. Near views use high detail; distant objects use lower detail for performance.
Explore texture mapping in DirectX 11 by creating and loading a 512×512 24-bit RGB texture, mapping it onto two triangles with texture coordinates, and sampling it in the pixel shader.
Learn to render two Spryte sprites by building a Spryte class with position, rotation, and scale, and send a world view projection matrix via a constant buffer for alpha blending.
Explore text rendering in DirectX 11 programming by reviewing Direct2D and DirectWrite APIs, demonstrating text rendering, and presenting an in-house solution when these APIs don’t fit render targets.
Render text in DirectX 11 by texture-mapped sprites using an ASCII format character set. Map each character to a two-triangle quad with precise texture coordinates using a draw text function.
Demonstrates DirectX 11 text rendering with a color-based blur shader and anti aliasing, and presents a GDI-based alternative using create compatible DC to draw text onto a texture.
Explore how to process keyboard, mouse, and gamepad input in DirectX 11 games using Win32 key state, DirectInput, and XInput, demonstrated with a sprite in motion.
Explore core 3D concepts and mathematics essential for DirectX 11 programming, introducing points, vectors, and matrices in 3D space and their use in graphics.
Master vector arithmetic by adding, subtracting, and multiplying vectors; compute distances and lengths with Pythagoras; normalize vectors; and use cross and dot products to derive normals in DirectX 11.
Explore left-handed coordinate systems used by DirectX and learn how identity, scale, translation, and rotation matrices position and orient objects, composing world, view, and projection transforms.
Demonstrates creating a 3-D cube with a depth texture and depth stencil view, rotating around the y axis, using vertex and index buffers, processed by a vertex and pixel shader.
Explore shaders and effects in DirectX 11 programming, including vertex, pixel, geometry, and domain shaders, as well as HLSL and effect files, technique blocks, and constant buffers.
Demonstrate rendering a cube with a warp trail by drawing a stretched, semi-transparent duplicate and blending with alpha to simulate warp speed, using DirectX 11 effect files and multiple passes.
Load a 3d model from rbj/abi file using a parser, render it with DirectX 11 shaders, and apply ambient, diffuse, and specular lighting while look-at camera moves to view model.
Parse an ABI-like model file, extract vertices, textures, normals, and faces, convert to an index buffer, then render in DirectX 11 with a camera and lighting.
Identify diffuse and specular reflection in lighting models, from rough surfaces like paper to mirrors and glass. Implement both diffuse and specular lighting with ambient light for 3-D models.
Explore shader-based lighting in DirectX 11, including ambient, diffuse, and specular components, using world, view, projection matrices, along with light and camera vectors to shade textured models.
Explore the audio tools in DirectX 11 programming, focusing on XACT3 and XAudio, banks and sound banks, cues and events, and 3d audio with initialization and play workflows.
Learn how to set up an XACT project, create sound banks, import wav files, apply compression presets, and configure cues and playback for DirectX 11.
Explore how to play audio with xact 3 in directx 11 by initializing the engine, loading bank and sound bank data, and playing a cue with 3-d sound effects.
Export 3d models from blender to a wavefront file with normals, texture coordinates, materials, and triangulation, then import them into DirectX 11 via Visual Studio demonstrations.
This course is designed to introduce DirectX 11 programming. The course begins with an high-level overview of the DirectX 11 architecture and concepts, and proceeds with an initial DirectX example application, 2D graphics, text rendering, input device processing, 3D concepts and rendering, shaders and effects, cameras and models, audio, importing and exporting 3D models, the final project, DirectX 9 and 10, other tools, using Visual Studio 2012 and later, and a final summary. Source code is included.
We use DirectX 11.0 in this course. DirectX 11.0 was included in Windows 7. We will use the Microsoft June 2010 DirectX SDK that include tools and libs that where later removed in later versions of DirectX and Visual Studio 2012-2015 Express/Community editions.