This topic describes how to program hardware shaders using DirectX. Any version of the DirectX SDK can be used as long as the core runtime component is DirectX 11.
Developers should use the Nitrous APIs instead. See the Nitrous topics.
Support for the DirectX 10 legacy driver has been removed from the SDK as of 3ds Max 2015. Note: Support for the DirectX 9 legacy driver has been removed from the SDK as of 3ds Max 2027.
Plug-ins can be built to use any version of DirectX because different versions of Direct X sit side by side (i.e. later versions do not replace earlier version). Only the utility functions are updated with the DirectX updates; the core runtime does not change.
It is the core DirectX runtime that needs to be consistent. So if a developer requests the main DirectX device from 3ds Max, then they need to be using the same runtime component.
There are two main components to DirectX
D3DX consists of utility/helper functions. This is what changes with each SDK update. It contains the High Level Shader Language (HLSL) compilers, which is why Autodesk updates its usage when required. The core does not change except for a new runtime.
In addition to reading this section, you should examine dxstdmtl.cpp and dxstdmtl.h in the samples\material folder.