What is DirectX11 ?
DirectX, an Application Programming Interface Set (APIs) provided by Microsoft, is designed to provide developers with the underlying interface to control hardware when running on the Windows operating system platform. Its various components provide the ability to access different hardware, including graphics (graphics card), sound (sound card), GPU, input devices, and all standard interfaces (such as game joysticks, mice, etc.)
DirectX was the standard API set first used by game developers for use on Windows and Xbox platforms. It provides a driver layer on the device to operate the hardware. (Note: Xbox369 was developed using versions after DirectX9).
Comparison between DirectX11 and previous versions.
The API of Direct3D 10 appears lightweight compared to the previous version, and its API is easier to use than previous versions
One obvious difference from other versions is the removal of fixed function pipelines in Direct3D 10, which is a necessary set for rendering states and building algorithms in the API to allow the use of public effects to render objects. Removing fixed function pipelines on graphics hardware and replacing them with programmable shaders
In Direct3D 9, we are able to render geometry through shaders, and turning on lighting only requires setting a small number of properties and rendering states. Those APIs convert our geometry so that we only need to call a small number of Direct3D functions when publishing. In Direct3D 10, we can still do all of the above things with shaders, and we can do even more. A key point for beginners to remember is that when learning graphic programming for the first time, fixed pipelines are limited by built-in APIs, while shaders allow us to create any special effects, the only limitation being the frame rate in the game. Want to use lighting? Just drop the Direct3D function to enable it and set its properties (up to 8 lighting options). Want to render the surface through multiple images? Just turn it on. It can even perform the pixel based blur operation and depth domain you want, but using a fixed pipeline is not as lucky
DirectX 11 is more like an enhanced version of DirectX10.1 than a major upgrade from DirectX9 to DirectX10.
The components of DirectX.
DirectX is a collection of code libraries that provide a common set of functions for games and multimedia applications. To ensure that your game only requires the use of necessary functions, DirectX is divided into multiple components
The DirectX API is divided into multiple components, so that each part only responds to one aspect of the system. The APIs between components are independent of each other, allowing for the use of the parts required by your game. In the latest version, some components have been updated, such as Direct3D components, while others have been retained like previous versions until Microsoft removes them (if they are outdated components). The components between DX should be independently updated according to the new function requirements.
My first DirectX program.
About the Configuration of DirectX11 under VS2015
You can refer to:
Details of Configuration Correction for VS2015 Compilation Environment in Traditional D3D11 Programs Programming Instructions for DirectX11 in VS2015update2 Environment (Updated on May 5th, 2016)
Dragon Book D3D11 Demo Configuration (VS2015+ win10).