Added navigation to tutorials

Chuck Walbourn 2022-01-23 17:26:29 -08:00
Родитель b9601b4d1b
Коммит c3a41e3b6d
31 изменённых файлов: 101 добавлений и 5 удалений

@ -1,3 +1,6 @@
|[[Getting Started]]|
|---|
This lesson draws simple shapes in 3D.
# Setup

@ -1,3 +1,6 @@
|[[Getting Started]] for DX11|[Getting Started](https://github.com/microsoft/DirectXTK12/wiki/Getting-Started) for DX12|
|---|---|
This lesson covers the basics of adding the use of *DirectX Tool Kit for Audio*'s audio engine to your project.
# Setup

@ -1,3 +1,6 @@
|[[Getting Started]] for DX11|[Getting Started](https://github.com/microsoft/DirectXTK12/wiki/Getting-Started) for DX12|
|---|---|
This lesson covers adding the _DirectX Tool Kit for Audio_ library and headers to your project.
# Setup

@ -1,3 +1,6 @@
|[[Getting Started]]|
|---|
After creating a new project in [[Using DeviceResources]], the next step is to add the _DirectX Tool Kit_ library and headers to the project so we can make use of it in our code.
# NuGet package manager
@ -10,6 +13,8 @@ The easiest way to achieve this is to use the [NuGet package manager](https://do
* Select "Install"
* When finished, close the NuGet Manager
![Manage NuGet Packages](https://github.com/Microsoft/DirectXTK/wiki/images/nuget.png)
You can check for updates to the NuGet package by selecting "Updates/All" in the left-hand tree view. If there are updates, select the "DirectX Tool Kit" package, and click on "Update".

@ -1,3 +1,6 @@
|[[Getting Started]]|
|---|
In this lesson we learn how to use model bones for rigid-body animation.
# Setup

@ -1,3 +1,6 @@
|[[Getting Started]]|
|---|
This lesson covers writing your own [[IEffect|Effects]] implementation, specifically a custom effect for rendering a [skybox](https://en.wikipedia.org/wiki/Skybox_%28video_games%29) with a cubemap.
# Setup
@ -445,7 +448,7 @@ VSOutput main(float4 position : SV_Position)
vout.PositionPS = mul(position, WorldViewProj);
vout.PositionPS.z = vout.PositionPS.w; // Draw on far plane
vout.TexCoord.x = -position.x;
vout.TexCoord.yz = position.yz;

@ -1,3 +1,6 @@
|[[Getting Started]] for DX11|[Getting Started](https://github.com/microsoft/DirectXTK12/wiki/Getting-Started) for DX12|
|---|---|
This lesson will cover the basics of 3D transformations for graphics.
# Positioning the camera
@ -10,6 +13,8 @@ DirectX::SimpleMath::Matrix m_view;
DirectX::SimpleMath::Matrix m_proj;
```
In the **CreateResources** method, we used the backbuffer size to create a simple perspective view:
```cpp

@ -1,3 +1,6 @@
|[[Getting Started]] for DX11|[Getting Started](https://github.com/microsoft/DirectXTK12/wiki/Getting-Started) for DX12|
|---|---|
This lesson covers simple collision detection using rectangles, spheres, and boxes.
# 2D collision detection
@ -68,7 +71,7 @@ bool Intersects(XMVECTOR V0, XMVECTOR V1, XMVECTOR V2) const;
PlaneIntersectionType Intersects(XMVECTOR Plane) const;
bool Intersects(XMVECTOR Origin, XMVECTOR Direction, float& Dist) const;
```
See [Microsoft Docs](https://docs.microsoft.com/en-us/windows/win32/api/directxcollision/ns-directxcollision-boundingsphere).
## BoundingBox class

@ -1,3 +1,6 @@
|[[Getting Started]] for DX11|[Getting Started](https://github.com/microsoft/DirectXTK12/wiki/Getting-Started) for DX12|
|---|---|
This lesson covers the basics of playing sounds with _DirectX Tool Kit for Audio_.
# Setup

@ -1,3 +1,6 @@
|[[Getting Started]]|
|---|
This lesson covers creating custom shaders with the Visual Studio DGSL Shader Designer and using them with _DirectX Tool Kit_.
# Setup

@ -1,3 +1,6 @@
|[[Getting Started]]|
|---|
This lesson covers drawing text using bitmap fonts and the sprite renderer.
> With the DirectX 11.1, you can also rely on Direct2D/DirectWrite being available which is recommended for true vector-font features such as high quality across a wide range of scales, for complex layouts, or large-alphabet fonts. SpriteFont is intended for low-overhead bitmap-font rendering using a font that can be captured to a single texture.

@ -1,3 +1,6 @@
|[[Getting Started]] for DX11|[Getting Started](https://github.com/microsoft/DirectXTK12/wiki/Getting-Started) for DX12|
|---|---|
This lesson will show how to read user input from game controllers, and use it to control a simple 3D camera.
# Setup

@ -1,3 +1,6 @@
|[[Getting Started]]|
|---|
Here we learn how to render a grid in 3D, and enable multi-sample anti-aliasing (MSAA).
# Setup

@ -1,3 +1,6 @@
|[[Getting Started]] for DX11|[Getting Started](https://github.com/microsoft/DirectXTK12/wiki/Getting-Started) for DX12|
|---|---|
This lesson covers the basics of playing sounds with _DirectX Tool Kit for Audio_ using of XACT-style wave banks.
# Setup

@ -1,3 +1,6 @@
|[[Getting Started]] for DX11|[Getting Started](https://github.com/microsoft/DirectXTK12/wiki/Getting-Started) for DX12|
|---|---|
This lesson discusses how to make use of more advanced math functions provided in the DirectXMath library using existing SimpleMath types.
# Coordinate system

@ -1,3 +1,6 @@
|[[Getting Started]]|
|---|
In this lesson, we will explore more things you can do with sprites.
# Setup

@ -1,3 +1,6 @@
|[[Getting Started]] for DX11|[Getting Started](https://github.com/microsoft/DirectXTK12/wiki/Getting-Started) for DX12|
|---|---|
This lesson will show how to read user input from the mouse and keyboard, and use it to control a simple 3D camera.
# Setup

@ -1,3 +1,6 @@
|[[Getting Started]]|
|---|
In this lesson we learn how to use multistream rendering to implement GPU instancing.
# Input assembler
@ -366,7 +369,7 @@ for (const auto& mit : instancedModel->meshes)
* GPU instancing is also supported by [[DebugEffect]] and [[PBREffect]]
* While **BasicEffect** does not support instancing, you can use **NormalMapEffect** to emulate **BasicEffect** by providing texture coordinates. The **NormalMapEffect** class will use a
* While **BasicEffect** does not support instancing, you can use **NormalMapEffect** to emulate **BasicEffect** by providing texture coordinates. The **NormalMapEffect** class will use a
[default 1x1 white](https://github.com/Microsoft/DirectXTK/wiki/media/default.dds) texture (i.e. ``DXGI_FORMAT_R8G8B8A8_UNORM`` value ``0xFFFFFFFF``) and/or a [smooth 1x1 normal map](https://github.com/Microsoft/DirectXTK/wiki/media/smoothMap.dds) texture (i.e. ``DXGI_FORMAT_R8G8_UNORM`` value ``0x7F7F``).
**Next lessons:** [[Creating custom shaders with DGSL]]

@ -1,3 +1,6 @@
|[[Getting Started]]|
|---|
In this lesson we learn the basics of Physically-Based Rendering (PBR) as supported by the *DirectX Tool Kit*.
# What does 'Physically-based' mean?

@ -1,3 +1,6 @@
|[[Getting Started]] for DX11|[Getting Started](https://github.com/microsoft/DirectXTK12/wiki/Getting-Started) for DX12|
|---|---|
This lesson covers performing picking in 3D.
# Ray casting

@ -1,3 +1,6 @@
|[[Getting Started]]|
|---|
This lesson loads and draws models in 3D.
# Setup

@ -1,3 +1,6 @@
|[[Getting Started]]|
|---|
Here we learn how to render a 2D triangle and the use of the built-in basic effects.
# Setup

@ -1,3 +1,6 @@
|[[Getting Started]]|
|---|
In this lesson, we will cover the basics of creating a texture from a bitmap file, and then rendering it using a 2D sprite with various drawing options.
# Setup
@ -31,7 +34,7 @@ Build and run the application which will still not be displaying anything but th
<details><summary><i>Click here for troubleshooting advice</i></summary>
<p>If you get a runtime exception, then you may have the "cat.png" in the wrong folder, have modified the "Working Directory" in the "Debugging" configuration settings, or otherwise changed the expected paths at runtime of the application. You should set a break-point on <code>CreateWICTextureFromFile</code> and step into the code to find the exact problem.</p></details>
# Drawing a sprite
In the **Game.h** file, add the following variables to the bottom of the Game class's private declarations:

@ -1,3 +1,6 @@
|[[Getting Started]]|
|---|
The first lesson in the [[Getting Started]] guide is to create a basic game loop which creates a Direct3D device, swapchain, and update/render loop.
# Setup

@ -1,3 +1,6 @@
|[[Getting Started]]|
|---|
In [[the basic game loop]] lesson, we made use of the **Direct3D Game** VS template which has all the relevant Direct3D code in the ``Game`` class including creating the device and swap chain. This makes it easy to see how to create the device & swapchain. This, however, results in a lot of 'boiler-plate' code in the main ``Game`` class which is distracting for the remainder of our tutorial lessons.
There is therefore a "DR" variant of each of the Direct3D Game VS templates in the [VS 2017/2019/2022](https://github.com/walbourn/directx-vs-templates/raw/main/VSIX/Direct3DUWPGame.vsix) VSIX package which adds [[DeviceResources]].

@ -1,3 +1,6 @@
|[[Getting Started]]|
|---|
This lesson covers the basics of High-Dynamic Range (HDR) rendering, tone-mapping, and optionally adding HDR10 wide color gamut (a.k.a. Ultra HD) rendering with _DirectX Tool Kit_.
# Setup

@ -1,3 +1,6 @@
|[[Getting Started]]|
|---|
In this lesson we learn about additional built-in shader types and some of their uses.
# Setup

@ -1,3 +1,6 @@
|[[Getting Started]] for DX11|[Getting Started](https://github.com/microsoft/DirectXTK12/wiki/Getting-Started) for DX12|
|---|---|
This lesson covers the playing sounds with _DirectX Tool Kit for Audio_ using 3D positional audio effects.
# Setup

@ -1,3 +1,6 @@
|[[Getting Started]]|
|---|
In this lesson we learn how to render models using skinned vertices for smooth animations.
# Setup
@ -313,4 +316,3 @@ for (size_t j = 0; j < nbones; ++j)
The CMO animation was adopted from the [Visual Studio Starter Kit](https://devblogs.microsoft.com/cppblog/developing-an-app-with-the-visual-studio-3d-starter-kit-part-1-of-3/) code written by Roberto Sonnino.
The SDKMESH animation was adopted from the [DXUT](https://github.com/microsoft/DXUT) code written by Shanon Drone.

@ -1,3 +1,6 @@
|[[Getting Started]] for DX11|[Getting Started](https://github.com/microsoft/DirectXTK12/wiki/Getting-Started) for DX12|
|---|---|
This lesson introduces the reader to the SimpleMath game and graphics math library.
# Background

@ -1,3 +1,6 @@
|[[Getting Started]]|
|---|
This lesson covers the basics of writing your own [HLSL shaders](https://en.wikipedia.org/wiki/High-Level_Shading_Language) and using them with _DirectX Tool Kit_, in particular to customize **SpriteBatch**.
# Setup