Movatterモバイル変換


[0]ホーム

URL:


Games for Windows and the DirectX SDK blog

Technical tips, tricks, and news about game development for Microsoft platforms including desktop, Xbox, and UWP


Project maintained bywalbournHosted on GitHub Pages — Theme bymattgraham
Home |Posts by Tag |Posts by Month

Effects for Direct3D 11 Update

codeplex, direct3d, dxsdk

Originally posted to Chuck Walbourn's Blog on MSDN,

TheEffects 11 library (FX11) was made available as shared-source in the DirectX SDK. Previous versions of the Effects library were part of D3DX (FX9) or built into the OS (FX10). With the DirectX SDK now legacy (seeWhere is the DirectX SDK?), there are still a number of people looking for the latest version since it is not included in the Windows 8.0 SDK. This post provides an updated version of the Effects 11 (FX11) library. The primary purpose of this release is to remove the dependencies on the legacy DirectX SDK for the D3DX11 headers, but it also includes some code tidying and a few customer requests.

The project onGitHub is marked as archive. It is still available for use for legacy projects, but use of it for new projects is not recommended.

If you still need Visual Studio 2008 support, you should keep using the legacy DirectX SDK (June 2010) version.

Disclaimer

Effects 11 is primarily being provided as a porting aid for older code that make use of the Effects 10 (FX10) API or Effects 9 (FX9) API in the deprecatedD3DX9 library. SeeMicrosoft Docs for a list of differences compared to the Effects 10 (FX10) library.

  • The Effects 11 library is for use inWin32 desktop applications. FX11 requires theD3DCompiler API be available at runtime to provide shader reflection functionality, and this API is not deployable for Windows Store apps on Windows 8 or Windows RT.
  • Thefx_5_0 profile support in the HLSL compiler is deprecated, and does not fully support DirectX 11.1 HLSL features such as minimum precision types.  It is supported in the Windows 8.0 SDK version of the HLSL compiler (FXC.EXE) and D3DCompile API (#46), but could be removed in a future update.
  • The Visual Studio 2012 graphics diagnostics feature has had some problems when trying to debugfx_5_0 profile shaders. You may want to try the latestVS 2012 Update.

The newDXC.EXE DXIL compiler doesnot support thefx profile or it’s constructs. SeeGitHub

Porting Notes

Here’s a handy table of equivalents related to Effects (seeLiving without D3DX for a complete listing):

D3DXCreateEffectD3DXCreateEffectExD3DXCreateEffectFromResourceD3DXCreateEffectFromResourceExD3D10CompileEffectFromMemoryD3DX11CompileEffectFromMemory
D3DXCreateEffectFromFileD3DXCreateEffectFromFileExD3DX11CompileEffectFromFile
D3D10CreateEffectFromMemoryD3DX11CreateEffectFromMemory
D3DXCreateEffectPoolD3D10CreateEffectPoolFromMemoryEffects 11 does not support 'effect pools'orD3DCOMPILE_EFFECT_CHILD_EFFECT. Effectgroups provide a more efficient solution for common scenarios previously addressed with 'effect pools'
D3DXDisassembleEffectD3D10DisassembleEffectD3DDisassembleD3DDisassemble10Effect in D3DCompile

Version History

SeeGitHub for the complete version history.

Update: Effects 11 is now hosted onCodePlex andGitHub. The latest version of the library, documentation, release history, and other information is now available there.

Samples: Effects 11 Win32 Samples onGitHub: Direct3D11TutorialsFX11, BasicHLSLFX11, DynamicShaderLinkageFX11, FixedFuncEmuFX11, and InstancingFX11.

vcpkg: The vcpkg C++ Package Manager has aneffects11 port available.

NuGet: ThisNuGet contains the last release of Effects.

Related:DirectXTex and Effects 11 Update


[8]ページ先頭

©2009-2025 Movatter.jp