Directx
-
hi everyone, I have vista service pack 1(64bit) and I installed "Microsoft DirectX SDK (June 2006)" now my question is can I use of Directx 10 or I should use of Directx9? how can I undrestand which one of them can I use? I asked this question because I have problem with "D3D10CreateDeviceAndSwapChain". Thanks?
-
hi everyone, I have vista service pack 1(64bit) and I installed "Microsoft DirectX SDK (June 2006)" now my question is can I use of Directx 10 or I should use of Directx9? how can I undrestand which one of them can I use? I asked this question because I have problem with "D3D10CreateDeviceAndSwapChain". Thanks?
Initially, you want to determine the capabilities of your graphics card. That really is the main determinant for which APIs you can use in your application. Many applications call GetDeviceCaps when first initializing the Direct3D Device (this is the recommended technique both at MSDN, and in all the books written about DirectX 9 and 10 that I've read). Have a look at: D3DCAPS Structure[^] over at MSDN.
-
Initially, you want to determine the capabilities of your graphics card. That really is the main determinant for which APIs you can use in your application. Many applications call GetDeviceCaps when first initializing the Direct3D Device (this is the recommended technique both at MSDN, and in all the books written about DirectX 9 and 10 that I've read). Have a look at: D3DCAPS Structure[^] over at MSDN.
-
Probably the most comprehensive approach is to look for the Utility that comes with the DirectX SDK (both version 9 and 10). It lives in the Utilities directory of wherever you installed the SDK on disc. As I recall, it's name is something obvious like, "DX9Capabilities". Launch it, and it will automatically query your Graphics Card and show you graphically what it's capabilities are. Then all you have to do is do a little research into what each designation actually means. The documentation that comes with the SDK should explain it all. You will discover that some DirectX APIs don't work because your Graphics Card doesn't perform a certain operation. It's a tedious process, but necessary in many circumstances where you are actually instructing the GPU to perform some computation (just by calling a standard DirectX API in your code). The API will often just fail silently, or return an almost useless error code like, D3DERR_INVALIDCALL. Determining your Graphics card capabilities beforehand prevents this kind of thing.