Browse Source

Examples; DirectX10/11: Added comments about removing dependency on d3dcompiler DLL (#638)

ocornut 9 years ago
parent
commit
8a0d3b9628

+ 6 - 0
examples/directx10_example/imgui_impl_dx10.cpp

@@ -343,6 +343,12 @@ bool    ImGui_ImplDX10_CreateDeviceObjects()
     if (g_pFontSampler)
         ImGui_ImplDX10_InvalidateDeviceObjects();
 
+    // By using D3DCompile() from <d3dcompiler.h> / d3dcompiler.lib, we introduce a dependency to a given version of d3dcompiler_XX.dll (see D3DCOMPILER_DLL_A)
+    // If you would like to use this DX11 sample code but remove this dependency you can: 
+    //  1) compile once, save the compiled shader blobs into a file or source code and pass them to CreateVertexShader()/CreatePixelShader() [prefered solution]
+    //  2) use code to detect any version of the DLL and grab a pointer to D3DCompile from the DLL. 
+    // See https://github.com/ocornut/imgui/pull/638 for sources and details.
+
     // Create the vertex shader
     {
         static const char* vertexShader =

+ 0 - 1
examples/directx10_example/main.cpp

@@ -5,7 +5,6 @@
 #include "imgui_impl_dx10.h"
 #include <d3d10_1.h>
 #include <d3d10.h>
-#include <d3dcompiler.h>
 #define DIRECTINPUT_VERSION 0x0800
 #include <dinput.h>
 #include <tchar.h>

+ 6 - 0
examples/directx11_example/imgui_impl_dx11.cpp

@@ -345,6 +345,12 @@ bool    ImGui_ImplDX11_CreateDeviceObjects()
     if (g_pFontSampler)
         ImGui_ImplDX11_InvalidateDeviceObjects();
 
+    // By using D3DCompile() from <d3dcompiler.h> / d3dcompiler.lib, we introduce a dependency to a given version of d3dcompiler_XX.dll (see D3DCOMPILER_DLL_A)
+    // If you would like to use this DX11 sample code but remove this dependency you can: 
+    //  1) compile once, save the compiled shader blobs into a file or source code and pass them to CreateVertexShader()/CreatePixelShader() [prefered solution]
+    //  2) use code to detect any version of the DLL and grab a pointer to D3DCompile from the DLL. 
+    // See https://github.com/ocornut/imgui/pull/638 for sources and details.
+
     // Create the vertex shader
     {
         static const char* vertexShader =

+ 0 - 1
examples/directx11_example/main.cpp

@@ -4,7 +4,6 @@
 #include <imgui.h>
 #include "imgui_impl_dx11.h"
 #include <d3d11.h>
-#include <d3dcompiler.h>
 #define DIRECTINPUT_VERSION 0x0800
 #include <dinput.h>
 #include <tchar.h>