DirectXに関するリンク集

※特に注記がなければVisualC++が対象。

情報

Microsoft DirectX(日本) / DirectX Developer Center
総本山。
Microsoft MSDN Library > DirectX Graphics
リファレンス。
Microsoft MSDN ライブラリ アーカイブ > DirectX 8 > DirectX Graphics
リファレンス。
Microsoft® XNA™ / 日本
Microsoft® XNA™ is designed to help game studios and publishers develop better games, more effectively, on all platforms. XNA is a long-term commitment from Microsoft to partner with the game industry in order to address the development challenges associated with modern game development.
WindowsClient.net
WPF(Windows Presentation Foundation)情報
  • Blog
DirectX Developer Blog
Windows Multimedia Hacks
マイクロソフト株式会社の Multimedia サポートチームの blog です。
  • Microsoft以外
DirectX Info Lib. - DirectXデバイス情報の蓄積と共有
このサイトではデバイス情報を閲覧可能な形で蓄積することでDirectX開発者向け情報の共有を行っています。
spin(shader programmer's insight) - Silicon Studio Corp. (WebArchive)
シェーダー関連情報、DirectX SDK及び各種イベント情報等。
BBX
BBX掲示板等。
けんもほろろ > Program
ポーカーゲーム/3Dダンジョン/戦術SLG/麻雀/落ちゲーの作り方等アルゴリズム関連情報。
The ZBuffer.com Managed DirectX News
XNAProjects.Net
Intel Visual Computing(旧Intel Graphix)
  • 関連ページ
link集/GIS系
GIS(Geographic Information System)関連、地図データの読み込みライブラリ等はこちらのページを参照方。
link集/ProgrammingTechnology#Algorithm
アルゴリズム情報はこちらのページを参照方。

Shader

link集/3D Graphics
3Dグラフィックやシェーダー関連情報は別ページを参照方。

Download

Microsoftダウンロードセンター > DirectX
Redistributableパッケージを使用すると余計なDownloadが不要なのでインストールが手っ取り早いので開発しない人にも便利。
Microsoftダウンロードセンター > Platform SDK
最近はDirectShowの開発を行うのに Windows SDK(旧Platform SDK) が必要。
Clootie graphics pages
Delphi, C++ Builder, Free Pascal向けのDirectX SDKライブラリの公開。
ATI Developer
FireGL/RADEON情報、SDK、サンプル多数。
NVIDIA Developer Web Site
Quadro/GeForce情報、SDK、サンプル多数。
NVIDIA GPU Programming Guide 日本語版 Ver2.2.0
Microsoft XNA Game Studio
Microsoft XNA Game Studio 4.0(The Windows Phone Developer Tools)
Microsoft XNA Game Studio 4.0(Standalone, for Windows XP)
Microsoft XNA Game Studio 4.0, Language Pack(日本語)
Microsoft XNA Game Studio 3.1
Microsoft XNA Game Studio 3.0
Microsoft XNA Game Studio Express 2.0
Microsoft XNA Framework Redistributables
Microsoft XNA Framework Redistributable 4.0
Microsoft XNA Framework Redistributable 3.1
Microsoft XNA Framework Redistributable 3.0
Microsoft XNA Framework Redistributable 2.0
Microsoft XNA Framework Redistributable 1.0 Refresh
Microsoft XNA Game Studio 2.0 Documentation - Japanese
Japanese documentation for XNA Game Studio 2.0
Microsoft XNA Game Studio 3.0 Documentation - Japanese
This release provides the XNA Game Studio 3.0 product documentation in the Japanese language. This documentation is viewable in the Visual Studio 2005 or Visual C# 2005 Express Edition help viewer.
  • その他
Software Rasterizer for the Microsoft DirectX 9.0 Software Development Kit (SDK)
インストールするには、
  1. 「RGBRAST.exe」を実行し「RGB9Rast_1_x64.cab」「RGB9Rast_1_x86.cab」を取り出す。
  2. End-User Redistributableパッケージ「directx_mmmyyyy_redist.exe」を実行しファイルを展開する。
  3. 上記手順で展開したフォルダに「RGB9Rast_1_x64.cab」「RGB9Rast_1_x86.cab」をコピーする。
  4. 「DXSETUP.exe」を実行する。
  5. 「rgb9rast_1.dll」が他のRunTimeと一緒にインストールされる。

バージョン情報

日本語の最新リリース版のリリースノートはここ で確認。英語版はこっち

Direct3D 11.2

Windows 8.1

VersionSDKdxsdkver.h
Windows SDK for Windows 8.1O?
Direct3D 11.2 Features

Direct3D 11.1

Windows 8

VersionSDKdxsdkver.h
Windows SDK for Windows 8O?
Direct3D 11.1 Features

Direct3D 11

VersionEnd-User
Redistributable
SDKdxsdkver.h
Direct3D 11 (June 2010)OO9.29.1962
Direct3D 11 (February 2010)OO9.28.1886
Direct3D 11 (August 2009)OO9.27.1734
Direct3D 10.1 (March 2009)OO9.26.1590
Direct3D 10.1 (November 2008)OO9.25.1476
Direct3D 11 Features
ホイール欲しい ハンドル欲しい > Direct3D11 Technical Preview D3D11の互換性、WARP Driver
DirectX SDK Nobemver 2008 には DirectX11 (D3D11) の beta SDK が含まれています。Direct3D11 API の機能や詳細が明らかになってきました。
Direct2D Document
Direct2D is a hardware-accelerated, immediate-mode, 2-D graphics API that provides high performance and high quality rendering for 2-D geometry, bitmaps, and text. The Direct2D API is designed to interoperate well with GDI, GDI+, and Direct3D.
Samples and Code Examples
DirectX 11 API への DirectX 9 の機能のマッピング

Direct3D 10.1

VersionRelease
Notes
End-User
Redistributable
SDKdxsdkver.h
Direct3D 11 (June 2010)XOO9.29.1962
Direct3D 11 (February 2010)XOO9.28.1886
Direct3D 11 (August 2009)XOO9.27.1734
Direct3D 10.1 (March 2009)XOO9.26.1590
Direct3D 10.1 (November 2008)XOO9.25.1476
Direct3D 10.1 (August 2008)XOO9.24.1401
Direct3D 10.1 (June 2008)XOO9.23.1350
Direct3D 10.1 (March 2008)OOO9.22.1284
DirectX SDK (August 2008) C++
日本語のオンラインドキュメント。

Direct3D 10

VersionRelease
Notes
End-User
Redistributable
SDKSymbolFilesdxsdkver.h
Direct3D 11 (June 2010)XOOX9.29.1962
Direct3D 11 (February 2010)XOOX9.28.1886
Direct3D 11 (August 2009)XOOX9.27.1734
Direct3D 10.1 (March 2009)XOOX9.26.1590
Direct3D 10.1 (November 2008)XOOX9.25.1476
Direct3D 10.1 (August 2008)XOOX9.24.1401
Direct3D 10.1 (June 2008)XOOX9.23.1350
Direct3D 10.1 (March 2008)OOOX9.22.1284
Direct3D 10 (November 2007) *1OOOO9.21.1148
Direct3D 10 (August 2007) *2OOOO9.20.1057
Direct3D 10 (June 2007)OOOO9.19.1005
Direct3D 10 (April 2007)OOOO9.18.944
Direct3D 10 (February 2007)OOOO9.17.892
Direct3D 10 (December 2006)OOOO9.16.857
Direct3D 10 (October 2006)OOOO9.15.779
Direct3D 10 (August 2006) *3OOOO9.14.701
Direct3D 10 (June 2006)OOOO9.13.644
Direct3D 10 (April 2006)OOOO9.12.589
Direct3D 10 (February 2006)OOOO9.11.519
Direct3D 10 (December 2005)XOOO9.10.455
Direct3D 9 から Direct3D 10 に移行する際に考慮すべき点
Microsoft MSDN > DirectX Frequently Asked Questions(December 2006) > Will DirectX 10 be available for Windows XP?
No. Windows Vista, which has DirectX 10, includes an updated DirectX runtime based on the runtime in Windows XP SP2 (DirectX 9.0c) with changes to work with the new Windows Display Driver Model (WDDM) and the new audio driver stack, and with other updates in the operating system.
June 2006 DirectX SDK の新しい機能
Direct3D 10サンプルでは、サンプルに対してのみ、カスタム バイナリ メッシュ形式(.sdkmesh)を使用しています。ローダー関数は、sdkmesh.h および sdkmesh.cpp にあります。meshconvert.exe ツールは、.x 形式から .sdkmesh 形式に変換するのに使用します。

DirectX 9.0

DirectX 9.0c - End-User EULAs
VersionRelease
Notes
End-User
Redistributable
SDKSymbol
Files
Extrasd3dx9core.h
*4
Direct3D 11 (June 2010)XOOXX0x0902 / 43
Direct3D 11 (February 2010)XOOXX0x0902 / 42
Direct3D 11 (August 2009) *5XOOXX0x0902 / 42
Direct3D 10.1 (March 2009)XOOXX0x0902 / 41
Direct3D 10.1 (November 2008)XOOXX0x0902 / 40
Direct3D 10.1 (August 2008)XOOXX0x0902 / 39
Direct3D 10.1 (June 2008)XOOXX0x0902 / 38
Direct3D 10.1 (March 2008)OOOXX0x0902 / 37
Direct3D 10 (November 2007) *6OOOOX0x0902 / 36
Direct3D 10 (August 2007) *7OOOOX0x0902 / 35
Direct3D 10 (June 2007)OOOOX0x0902 / 34
Direct3D 10 (April 2007) *8OOOOX0x0902 / 33
Direct3D 10 (February 2007)OOOOX0x0902 / 32
Direct3D 10 (December 2006)OOOOX0x0902 / 32
Direct3D 10 (October 2006) *9OOOOX0x0902 / 31
Direct3D 10 (August 2006)OOOOX0x0902 / 30
Direct3D 10 (June 2006)OOOOX0x0902 / 30
Direct3D 10 (April 2006)OOOOX0x0902 / 30
Direct3D 10 (February 2006)OOOOX0x0902 / 29
Direct3D 10 (December 2005) *10XOOOX0x0902 / 28
DirectX 9.0 Update (October 2005)XOOOX0x0902 / 27
DirectX 9.0 Update (August 2005)XOOOX0x0902 / 27
DirectX 9.0 Update (June 2005)XOOOX0x0902 / 26
DirectX 9.0 Update (April 2005)XOOOX0x0902 / 25
DirectX 9.0 Update (February 2005)OOOOO0x0902 / 24
DirectX 9.0 Update (December 2004)OOOOO0x0902 / 23
DirectX 9.0 Update (October 2004)OOOOO0x0902 / 22
DirectX 9.0 Update (Summer 2004)O/JPOOOO0x0902 / 22
DirectX 9.0 Update (Summer 2003)OXOXO0x0901 / 21
DirectX 9.0bXXOXO?
DirectX 9.0XXOXX?
DirectX 9.0 日本語ドキュメント (2009/05/03)
Managed DirectX 9.0 ドキュメントを読むには Microsoft Visual Studio .Net が必要です。
DirectX 9.0 SDK Update (October 2004) 日本語ドキュメント
C++ と Managed 共通の Visual Studio .NET 2003 ドキュメントに対応したインストーラ と、単独で利用可能な C++ と Managed それぞれの chm ファイル です。

VisualStudio

VisualC++に含まれているDirectX SDKの情報

CompilerVersion備考
VisualC++ 6.0DirectX 5DIRECTDRAW_VERSION 0x0500
VisualC++ .NET 2002--
VisualC++ .NET 2003DirectX 7DIRECT3D_VERSION 0x0700
VisualC++ 2005-DXSDKに同梱されているstrsafe.hはVC++2005向けではないのでVisualStudioのincludeフォルダの参照順の設定に注意。2007年11月以降にリリースされたものはstrsafe.hが含まれないので注意は不要。
VisualC++ 2008-同上
VisualC++ 2010-同上

SDKのCompiler/OS対応状況

RunTime情報

最新版のDirect3Dの Redistributableパッケージ には全てのバージョンのRelease Build版のDirectX Runtime DLLが入っているので、それをセットアップするのが手っ取り早い。

Toymaker > DirectX D3DX DLLs
  • Direct3D 11 RunTimes

    最近の Direct3D 11 SDK で利用されるRunTime DLL情報。

    DirectX SDK VersionRelease BuildDebug Build *13
    Direct3D 11 (June 2010)d3dx11_43.dlld3dx11d_43.dll
    Direct3D 11 (February 2010)
    Direct3D 11 (August 2009)
    d3dx11_42.dlld3dx11d_42.dll
    Direct3D 10.1 (March 2009)d3dx11_41.dlld3dx11d_41.dll
    Direct3D 10.1 (November 2008)d3dx11_40.dll???
  • Direct3D 10 RunTimes

    最近の Direct3D 10 SDK で利用されるRunTime DLL情報。

    DirectX SDK VersionRelease BuildDebug Build *14
    Direct3D 11 (June 2010)d3dx10_43.dlld3dx10d_43.dll
    Direct3D 11 (February 2010)
    Direct3D 11 (August 2009)
    d3dx10_42.dlld3dx10d_42.dll
    Direct3D 10.1 (March 2009)d3dx10_41.dlld3dx10d_41.dll
    Direct3D 10.1 (November 2008)d3dx10_40.dlld3dx10d_40.dll
    Direct3D 10.1 (August 2008)d3dx10_39.dlld3dx10d_39.dll
    Direct3D 10.1 (June 2008)d3dx10_38.dlld3dx10d_38.dll
    Direct3D 10.1 (March 2008)d3dx10_37.dlld3dx10d_37.dll
    Direct3D 10 (November 2007)d3dx10_36.dlld3dx10d_36.dll
    Direct3D 10 (August 2007)d3dx10_35.dlld3dx10d_35.dll
    Direct3D 10 (June 2007)d3dx10_34.dlld3dx10d_34.dll
    Direct3D 10 (April 2007)d3dx10_33.dlld3dx10d_33.dll
    Direct3D 10 (February 2007)
    Direct3D 10 (December 2006)
    StaticLinkLibraryなので外部依存なしd3dx10d.dll
     
  • DirectX 9.0c RunTimes

    最近の DirectX 9.0 Update SDK で利用されるRunTime DLL情報。
     ・dxdiagでは表示されない。
     ・d3dx9.lib の提供形態が StaticLinkLibrary から DynamicLinkLibrary に変わっている。

    DirectX SDK VersionRelease BuildDebug Build *15
    Direct3D 11 (June 2010)d3dx9_43.dlld3dx9d_43.dll
    Direct3D 11 (February 2010)
    Direct3D 11 (August 2009)
    d3dx9_42.dlld3dx9d_42.dll
    Direct3D 10.1 (March 2009)d3dx9_41.dlld3dx9d_41.dll
    Direct3D 10.1 (November 2008)d3dx9_40.dlld3dx9d_40.dll
    Direct3D 10.1 (August 2008)d3dx9_39.dlld3dx9d_39.dll
    Direct3D 10.1 (June 2008)d3dx9_38.dlld3dx9d_38.dll
    Direct3D 10.1 (March 2008)d3dx9_37.dlld3dx9d_37.dll
    Direct3D 10 (November 2007)d3dx9_36.dlld3dx9d_36.dll
    Direct3D 10 (August 2007)d3dx9_35.dlld3dx9d_35.dll
    Direct3D 10 (June 2007)d3dx9_34.dlld3dx9d_34.dll
    Direct3D 10 (April 2007)d3dx9_33.dlld3dx9d_33.dll
    Direct3D 10 (February 2007)
    Direct3D 10 (December 2006)
    d3dx9_32.dlld3dx9d_32.dll
    Direct3D 10 (October 2006)d3dx9_31.dlld3dx9d_31.dll
    Direct3D 10 (August 2006)
    Direct3D 10 (June 2006)
    Direct3D 10 (April 2006)
    d3dx9_30.dlld3dx9d_30.dll
    Direct3D 10 (February 2006)d3dx9_29.dlld3dx9d_29.dll
    Direct3D 10 (December 2005)d3dx9_28.dlld3dx9d_28.dll
    DirectX 9.0 Update (October 2005)
    DirectX 9.0 Update (August 2005)
    d3dx9_27.dlld3dx9d_27.dll
    DirectX 9.0 Update (June 2005)d3dx9_26.dlld3dx9d_26.dll
    DirectX 9.0 Update (April 2005)d3dx9_25.dlld3dx9d_25.dll
    DirectX 9.0 Update (February 2005)d3dx9_24.dlld3dx9d_24.dll
    DirectX 9.0 Update (December 2004)以前StaticLinkLibraryなので外部依存なしd3dx9d.dll

Develop

Tutorial

  • 国内
Microsoft アカデミックアライアンス > DirectX によるゲームプログラミング入門
本連載は、C++ 言語と DirectX の基礎的な知識がある方を対象としています。
Takusoftによる DirectX Graphics入門
DirectX8の解説。
マルペケつくろーどっとコム
Gameつくろー!等ゲーム作成に役立つ情報多数。
  • 海外
http://www.gametutorials.com
http://www.ultimategameprogramming.com

SampleSourceCode

Direct3D 10系

  • 国内
  • 海外
DXTen.com DirectX 10 Wiki
Help build the perfect DX10 reference for all to use. The current plan is to add to this site what ever we learn and discover about DirectX 10 to help ease the path for others.

DirectX 9.0系

  • 国内
Shader.jp / (旧)Masafumi's LABORATORY
旧サイト情報の方にDirectX9.0/8.1のTipsやシェーダーに関する情報等。
アスピライト > 0からのゲームプログラミング
シューティングゲームに関連した解説多し。
ToruのDirectXプログラミング講座
DirectX9に関するプログラミング講座をやっています。
プログラミングの初心者友の会
DirectX9.0bを使ったサンプル等。
電波の缶詰 > ウマイハナシ
DirectX9.0/8.0やゲーム作成に関する様々な情報あり。
TWINTAIL LOVERS
DirectX9/8以外に、ゲーム向けのアルゴリズムの解説等。
ゲームプログラミングWiki(旧:すきやきのゲームアルゴリズムとゲームプログラミング)
DirectXを利用したゲーム向けのアルゴリズムの解説。
みきちゃん
テクスチャ関連情報。
超初心者のプログラム入門へようこそ
DirectXの機能について一通りの解説があるが、ソースコードへのリンクは切れている。DirectX 7/8の解説もあり。
TMPS Wiki / はてなダイアリー
研究用途でDirectX9を使用した解説。
  • 海外
CodeSampler.com
DirectX9/DirectX8.1とCgを組み合わせたサンプル等。
HLSLを使って太く見える線分を実現するVolumetric Linesサンプルあり。

DirectX 8.0/8.1系

  • 国内
流体力学研究所
DirectX8ベースで各種効果に関するサンプル&解説がある。
もんしょの巣穴 > プログラムの部屋
DirectX8に関する解説。
DEQUARTET > 技術情報 > DirectX Tips
DirectX8.0/8.1に関するTips。
DirectX Programmers Page
DirectX8系のサンプル。
HarvestBell > Program (2009/05/03)
DirectX8以外にも固定小数点演算等の解説もある。
WisdomSoft > DirectX入門
DirectX8.1による解説。
Pastel's Laboratory (2009/05/03)
DirectX8講座等。Delphi関連情報もあり。
らんすの本棚
DirectX7/8で2Dゲームを作ろう等。
WisdomSoft > DirectX入門
DirectX8.1による解説。
  • 海外
Zanir
DirectX8.1ベースの3dsファイルのローダ等。

DirectX 7以下

  • 国内
Dycoon's Page > プログラムの技
DirectX 6までに関する情報及び、Delphiを使用したゲーム向けのアルゴリズムの解説。
Visual Basic で DirectX を使おう
  • 海外
CDVG - DirectX with VisualBasic
DirectX7ベース。

Managed DirectX

  • 国内
Atelier Blue >プログラミング > Managed DirectX
マルチメディア関連を操作できるDirectXの.net版Managed DirectXのページです。言語はC#を利用しています。
ソーサリーフォース > プログラミング > Managed DirectX
Managed DirectX を使用した3Dプログラミングなどをやってみたいという人のために、サンプルを用いてわかりやすく解説しているページです。
  • 海外
/cfMDX(Mobile DirectX with the Compact Framework)

DirectShow

Geekなページ > プログラミング > DirectShowプログラミング[VC++]
ここでは、DirectShowを使ってプログラムを書く方法を説明します。
The DirectShow Unraveled
DirectShow について、コンパイル方法から簡単なフィルタ作成までのノウハウを公開していきます。
最新情報はBlogへ移行。
M.Oshikiri HomePage > Tips集
VB6及びVB2005からDirectShowを使う方法、VC++6.0でオリジナルのフィルタを作る方法、.Net Framework用クラスライブラリ等。
Shader.jp > Aritcles > DirectShow
DirectShowSDKのビルド方法等。

Direct3D Mobile

CodeZine > Direct3D Mobileによる3DCGプログラミング
Windows Mobile 5.0で動作する3Dアプリケーションの開発
Shader.jp > Direct3D Mobileのデモとソースをアップしました
今回アップしたのは,Tinyのモデルを読み込んでテクスチャマッピングしてライティング(平行光源)しています.やっていることは,JPEGファイルをテクスチャとして読み出す, テクスチャに文字描画(FPS表示) になります.

その他

  • 国内
Windows Fortran入門
FortranからDirectXを利用する方法。
  • 海外
NVidia Featured SDK Code Samples
In each release of our SDK you'll find hundreds of code samples, effects, and tools to help you take advantage of the latest in graphics technology.
X-FACTOR DEVELOPMENT HOME PAGE (2009/05/03)
With an aim on taking XBOX programming to a whole new level.
The Code Project > DirectX Programming
VC++サンプルでは有名所。

Tips/FAQ

[GAME Watch] マイクロソフトによる講演「Windows Vista ゲーム開発」
数多くの国内PCゲームが躓いたIME問題は、SDKサンプルのささいなバグだった!?
NyaRuRuの日記 - CEDEC 2007
NyaRuRuの日記 - Windows Vista IMM32 関係まとめ
  • Microsoft
Microsoft MSDN > DirectX Frequently Asked Questions(December 2006)
Microsoft DirectX 9 開発者向け FAQ (2007/03/06)
DirectX での開発における一般的な問題点。
Microsoft DirectX 8 開発者 FAQ
この記事では、Microsoft DirectX Version 8.0 の開発に関する良くある質問に対する詳細な回答を紹介します。
Microsoft DirectX 9.0 ID3DXMatrixStack インターフェイス
OpenGLで言う所の glPushMatrix()〜glPopMatrix() のような実装が可能。こりゃイイ!
IDirect3DDevice9* pDevice;
ID3DXMatrixStack* pStack;
// I/Fの取得
(void)D3DXCreateMatrixStack( 0, &pStack );
{
    (void)pStack->LoadIdentity();

    (void)pStack->Push();
    {
        // 各種回転・拡大/縮小・並行移動行列設定
        (void)pDevice->SetTransform( D3DTS_WORLD, pStack->GetTop() ); // 現在の行列を設定
        // 描画
    }
    (void)pStack->Pop();
    (void)pDevice->SetTransform( D3DTS_WORLD, pStack->GetTop() ); // 必要に応じて後始末
}
(void)pStack->Release();
  • 国内
青のしま 〜Blue Islands〜 > C++ Tips > DirectX Tips
DirectShow関連情報。
Shader.jp > DirectShowの開発をするための準備 October 2007
以前の記事では,Platform SDKのDirectShowのBaseClassesをどうやってビルドするかを紹介しました.現在,Platform SDKはWindows SDKに名称が変わっております.Windows SDKでもDirectShowに関わるソースは付属するのですが,BaseClassesに関するビルド方法が変わっていたりします.
t-pot > Xbox 360のクセ
XNA チューニング勉強会の資料。
  • 海外
Toymaker > DirectX Questions & Answers / Direct3D FAQ
色々有用な情報有り。
DirectX Forum FAQ
My own little DirectX FAQ
DirectShow Developer Q & A
和訳ページ
  • 自分メモ
DirectX 8/9 のレジストリ設定
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Direct3D
新し目のDXSDKの場合は「dxcpl.exe」から設定
CodeZine > DirectX Graphicsの隠し設定を利用した開発テクニック
キー名エントリ名機能設定値備考
.FullDebug???0:OFF, 1:ON
.LoadDebugRuntimeデバッグモードを有効にする0:OFF, 1:ON
.BreakOnMemLeakDirectX関連オブジェクトのメモリリーク検知時にDebugBreakする0:OFF, 1:ON
.\D3D9DebuggingEnableCreationStackCallStack取得機能を有効にする0:OFF, 1:ON
.\DriversSoftwareOnlyAllow Hardware Acceleration0:OFF, 1:ON
D3DXFillTextureTX
LPDIRECT3DTEXTURE9 pTexture = NULL;
LPD3DXBUFFER       pShader  = NULL;
// do something.
#if D3DX_SDK_VERSION < 22
 hr = D3DXFillTextureTX( pTexture, (CONST DWORD*)pShader->GetBufferPointer(), NULL, 0 );
#else
 ID3DXTextureShader* pTextureShader;
 hr = D3DXCreateTextureShader( (CONST DWORD*)pShader->GetBufferPointer(), &pTextureShader );
 if ( FAILED( hr ) ) {
   SAFE_RELEASE( pShader );
   SAFE_RELEASE( pTexture );
 }

 hr = D3DXFillTextureTX( pTexture, pTextureShader );
 SAFE_RELEASE( pTextureShader );
#endif
 SAFE_RELEASE( pShader );
 if ( FAILED( hr ) ) {
   SAFE_RELEASE( pShader );
   SAFE_RELEASE( pTexture );
 }
ID3DXEffect::Pass()/ID3DXEffect::BeginPass()
LPD3DXEFFECT pEffect;
HRESULT      hr;
UINT         unPasses;
// do something.
hr = pEffect->Begin( &unPasses, 0 );
#if D3DX_SDK_VERSION < 22
for( UINT unPass = 0; unPass < unPasses; ++unPass ) 
{
  hr = pEffect->Pass( unPass );
  // do something.
}
#else
for( UINT unPass = 0; unPass < unPasses; ++unPass ) 
{
  hr = pEffect->BeginPass( unPass );
  // do something.
  hr = pEffect->EndPass();
#endif
}
hr = pEffect->End();
D3DXComputeTangentFrameEx
LPD3DXMESH* pMesh;
// do something.
#if 22 < D3DX_SDK_VERSION
hr = D3DXComputeTangentFrameEx( pMesh, 
                                D3DX_DEFAULT, 0,
                                D3DX_DEFAULT, 0,
                                D3DX_DEFAULT, 0,
                                D3DDECLUSAGE_NORMAL, 0,
                                D3DXTANGENT_CALCULATE_NORMALS | D3DXTANGENT_GENERATE_IN_PLACE,
                                NULL, 
                                0.0F, 0.0F, -1.001F,
                                NULL, NULL );
#else
hr = D3DXComputeNormals( pMesh, NULL );
#endif
D3DXCreateEffectFromFile/D3DXCreateEffectFromResource
LPDIRECT3DDEVICE9 pD3DDevice;
LPD3DXEFFECT      pEffect = NULL;
TCHAR             szFilePath[ 1024 + 1 ];
// do something.
hr = D3DXCreateEffectFromFile( pD3DDevice,
                               szFilePath,
                               NULL,
                               NULL,
#if D3DX_SDK_VERSION < 32
                               D3DXSHADER_DEBUG,
#else
                               D3DXSHADER_DEBUG | D3DXSHADER_USE_LEGACY_D3DX9_31_DLL,
#endif
                               NULL,
                               &pEffect,
                               NULL );

TroubleShoot

VisualC++6.0で最新のSDKを使ってビルドするとリンクエラー
VisualC++6.0向けの d3dx9.lib は DirectX 9.0 SDK Update (October 2004) Extras まででこれ以降は提供されない。
最新の d3dx9.lib をVisualC++6.0でリンクすると以下のエラーとなる。
d3dx9.lib(fastftoa.obj) : error LNK2001: 外部シンボル "__aulldvrm" は未解決です
こういうのも出る模様。「___security_cookie」に関しては、Microsoftサポート情報 894573に解説有り。
d3dx9.lib(cvsprogram.obj) : error LNK2001: 外部シンボル "___security_cookie" は未解決です
Extrasを「C:\Program Files\DirectX 9.0 SDK Extras」に解凍した場合は以下のようにExtrasのフォルダを先に参照するように設定する。
VC60DX9.png
DirectXのセットアップ時に「インストールに必要なキャビネット ファイルは信頼できません。」でエラー
Redistributableパッケージからインストール時に発生。 MicrosoftUpdate から更新してみたが、正常終了はするもののインストールはされなかった。「信頼されない」というエラーからCABファイルの署名で使用されている証明書に問題がありそうなので調べてみると、案の定「BDA.cab」が下記のようにエラーとなっていた。

「BDA.cab」のプロパティ → [デジタル署名]タブ → [詳細(D)]ボタン押下 → [証明書の表示(V)]ボタン押下 → [証明書のパス]タブ
CA_ERROR.png
「証明書の失効リスト」とやらを入手する為、証明書関連のパッチを色々探してみた所、Verisign Digital Certificates Spoofing Hazard を当てたら解決した。こんな2001年にリリースされたパッチが今頃影響するとは・・・orz。
DirectXのセットアップ時に「インストールに必要なキャビネット ファイルは信頼できません。」でエラー(Part2)
Redistributableパッケージからインストール時に発生。上記の現象の条件に合致しない環境。
パッケージをBuffaloのTeraStation上の共有フォルダに展開し、WindowsXP SP2からセットアップした場合に発生。ローカルHDDに展開したファイルからのセットアップは問題無し。そのうまくいったファイルをネットワークの共有フォルダに移動した場合はエラーとなる。アクセス権をいじってみたが変化は無し。
OSローカルHDDネットワーク上
Windows2000 Professional SP4OKOK
WindowsXP Professional SP1OKOK
WindowsXP Professional SP2OKNG
結局の所ケチケチしないでローカルHDDに展開しろと言う事らしい。

Tool

NVIDIA® NVPerfHUD
NVPerfHUD analyzes your graphics pipeline performance one stage at a time and displays real time statistics that can be used to diagnose performance bottlenecks in your Direct3D 9 application.
Hamana - graphic viewer powered by DirectX
Direct Graphics による高速な拡大縮小や各種エフェクトを実行出来る画像ビューワ。
DirectX 9 Uninstaller
DirectX Buster
物置場 > DirectXウィンドウ化ツール
GDI、Direct3D1〜9、DirectDraw1〜7、DirectInput8に対応してます。
SBF7 > Soft > DirectX汎用窓化ツール
DirectXゲーム用の汎用窓化ツールです。フルスクリーン専用のゲームを強制的にウィンドウにします。
DirectX8 For NEC98
DirectX8.0(a)、8.1(b)、および9.0(a/b/c)をNEC PC-9821に無理矢理インストールするためのパッチ
FRAPS <Shareware>
Fraps is a universal Windows application that can be used with all games using DirectX or OpenGL technology. In its current form Fraps performs many tasks and can best be described as:
  • Benchmarking Software
  • Screen Capture Software
  • Realtime Video Capture Software
DxRec <Shareware>
このソフトはDirectX、OpenGL(ゲーム等)アプリケーションにフレームレートの表示、ベンチマーク機能を追加します。その他スクリーンショットの保存、AVIでの動画保存機能もあります。
DirectShow Filter Tool
DirectShowのフィルタの登録・登録解除・メリット値の変更を行うツールです。
Blueskyのホームページ > DXVA Checker
GPU(ビデオカード)で利用可能なDirectX Video Acceleration (DXVA)によるデコーダデバイスとプロセッサデバイス(再生支援機能)に関する情報を取得、表示します。また、ビデオファイルを指定する事によりDirectShowフィルタ(ビデオデコーダ)が対応しているDXVAモードを調べたり、ビデオを再生しながら設定を変更してDXVAの効果を確認したりする事が可能です。

Benchmark

Call of Juarez DirectX 10 Bench @ Guru3D
This benchmark is just so delicious to look at, is using Shader Model 4 with DirectX 10, so the usage of Vista 32-bit is mandatory.
PT Boats - Knights of the Sea
The final game will support both DX10 and DX9, but this demo is a demonstration of what the final game will look like in DirectX 10.

Game/Simulator

  • 国内
FreeTrain <LGPL>
FreeTrainは、アートディンクの「A列車で行こう」の粗悪な模造品です。というか、模造品を目指しているだけで、今のところ模造品とさえも呼べない出来です。
と、紹介されているが結構すごい。開発言語はC#。
インターネット停留所 > RailSim
RailSim は Direct3D を用いた VR と、わかりやすい GUI により、N ゲージのようなジオラマが比較的簡単に製作できる鉄道シミュレータです。完全にフリーで使用することが出来、料金などは一切かかりません。車輌や地形、駅や建物のデータなどはプラグインとしてどんどん追加していくことが可能です。ソースコードも公開されている。
DTXMania
DTXMania は、電子ドラム「DTX」シリーズを使って気軽に演奏が楽しめる、ドラムトレーニングソフトウェアです。
  • 海外
Wolfenstein: Enemy Territory
FPS(一人称視点)ゲーム。ソースコードが公開されている。
窓の杜 > フリーのFPSゲーム「Wolfenstein: Enemy Territory」のソースコードが公開
Bomberman 3D <GPL>
Bomberman-like game, 3d
Microsoft MechCommander 2 Shared Source Release
This is the Shared Source release for MechCommander 2. This release contains all of the source code and source assets required to build MechCommander 2. This release can be used with the Microsoft XNA Build March 2006 CTP.
Direct3D Quake <GPL>
A port of Quake 1 to Direct 3D. This is a native port, not using any wrappers or suchlike. Direct 3D 9.0c is used, and all of the code has been written from scratch to replicate as much of GLQuake's functionality as possible.

Library

DirectXに関連しないライブラリ情報はこちらのページを参照方。

LGP(Light Game Programming)
Light Game Programming(以後 LGP)は、Windowsで簡単にゲームを作るためのプログラミング言語です。

LGPの特長を以下に示します。

  1. BASICをベースにした言語を採用しているので簡単に言語に慣れることが出来るでしょう。
  2. DirectXを簡単に利用できます。
  3. LGPはフリーウェアであり、コンパイル結果の再配布を自由/無料で行えます。
  4. 実行ファイル(EXE)を生成します。実行ファイルの実行にLGP本体や特別なDLLファイルは不要(DirectXは必要です)なので配布が簡単に行えます。
  5. コンパイラなので実行ファイルの実行速度は高速です。下手にC言語で開発するよりも高速に動作します。
  6. コンパイラなのにコンパイル速度はインタプリタ並に早いです。
  7. プログラムは一般的なテキストエディタで書くことが出来ます。普段使い慣れているエディタをご使用できます。

For C/C++

  • 国内
DXライブラリ
DXライブラリとは、DirectXを使ったWindowsソフトの開発に必ず付いて回るDirectXやWindows関連のプログラム部分を使い易くまとめた形で利用できるようにした2Dゲーム用ライブラリです。
YJゲーム開発部屋
YJ Studio, YJライブラリ等の公開。
おちっこLAB > Easy3D(C, C++言語用)
RokDeBone2(メタセコイアと六角大王のデータに、ボーンモーションを付けるツール)のデータとDirectXを使って、 C言語で、ゲームを作るためのライブラリです。
DirectShow Filter&Tool
DirectShow用のフィルター及びツールを作成します。
Selene <BSD>
SeleneとはDirectX9.0cをベースしたゲーム用2D/3Dライブラリ(というかエンジン)です。いわゆる次世代グラフィックといわれている技術を誰でも手軽に扱う事が出来、3Dプログラミング初心者でも気軽に3Dゲームが作れるようにする事が目的です。
MGL(Myu Game Library) <BSD>
ゲーム開発向けのライブラリです。C++で書かれています。C++向けです。3Dグラフィックには対応していません。2Dグラフィック向けです。DirectXを使用します。DirectX 8.1以上を必要とします。
  • 海外
OpenXDK <GPL>
OpenXDK is an Open Source, Free, Legal Xbox Development Kit.
CDX Library (2009/05/03)
CDX is a free GDK (Game Development Kit) which is comprised of a set of C++ wrapper classes for writing Windows games.
Irrlicht Engine <zlib/libpng>
The Irrlicht Engine is an open source high performance realtime 3D engine written and usable in C++ and also available for .NET languages.
It is completely cross-platform, using D3D, OpenGL and its own software renderer, and has all of the state-of-the-art features which can be found in commercial 3d engines.
Irrlicht A GoGo - このサイトではオープンソースのゲーム向け3Dエンジン「Irrlicht」について取り扱っています
ZFXCE <LGPL>
ZFXCE is a collection of library to handle 3D-applications and games. It is mostly developed by members of zfx.info.
Jolt3d! <Public Domain>
The Jolt3D! Engine is a open source 3D engine for creating realtime 3D applications. Its goal is to be easy to use, fast and compatible with many Audio, Video , Image and Mesh file formats. With features such as Bumpmapping, rain, snow, water and more.
Facilis Engine <MIT>
An easy to use managed graphics engine. Utilises both OpenGL and Direct3D9 through an abstraction layer. Accompanied by a number of other helpfull tools, for example to simplify input and networking.
DevIL(Developer's Image Library)/OpenIL - IL/ILU/ILUT <LGPL>
Developer's Image Library (DevIL) is a cross-platform image library utilizing a simple syntax to load, save, convert, manipulate, filter and display a variety of images with ease.
Ocelot 3D Engine <CDDL>
Ocelot3D is a 3D Engine based on DirectX9. It uses direct3D features and it's full integrable with d3d code.
SxDL <GPL>
SxDL is a powerful and very easy to use 2D / 3D Game Development Framework for Windows and DirectX. Comes with 32 games and demos: Bomber, Pacman, a space shooter and more. Want to learn game programming? SxDL is what you've been looking for!!
Microsoft > The Game Creators Dark GDK
The Game Creators are pleased to announce that their flagship C++ game development package, Dark GDK is now included free of charge with Microsoft Visual C++ 2008 Express, part of the Microsoft Visual Studio Express range.
DirectX Tool Kit(DirectXTK) <Microsoft Public License>
The DirectX Tool Kit (aka DirectXTK) is a collection of helper classes for writing DirectX 11.x code in C++.
DirectXTex <Microsoft Public License>
DirectXTex, a shared source library for reading and writing DDS files, and performing various texture content processing operations including resizing, format conversion, mip-map generation, block compression for Direct3D runtime texture resources, and height-map to normal-map conversion.

For .NET Framework

  • 国内
Cyber Library
Cyber Libraryは、DirectXの機能を含んだ、C#言語で簡単に3Dゲームやツールを開発するための、ラッパーライブラリです。
電華房 > 若葉ヘルパー
若葉ヘルパーは、DirectXを意識せずゲーム制作できるライセンスフリーの2Dゲームライブラリです。 Visual Studio 2005 Expressと組み合わせれば、無料でゲーム制作できます。 プログラミング初心者、時間が取れない日曜プログラマに最適です。
  • 海外
IrrlichtSharp <zlib/libpng>
IrrlichtSharp is a high performance port of the popular Irrlicht Graphics Engine. Rewritten completely in C#, it provides a pure .NET assembly for any .NET based graphics project.
Irrlicht .NET CP <zlib/libpng>
Irrlicht .NET CP is a .NET wrapper of the famous Irrlicht rendering engine. It provides a full, entirely cross-platform 3d rendering engine working with any .NET language. Moreover it has an extensions library which adds a lot of features to the engine.
Monster X <LGPL>
Monster X is a project designed to help NET developers produce quality media rich applications using DirectX. Animation, movement, sound, music, and game style input are simple to accomplish using with Monster X.
DirectShow .NET <LGPL>
.NET C# directshow lib, capture and playback using C# and DirectShow
Windows Media .NET <LGPL>
A library allowing .NET access to Microsoft's "Windows Media Format" technology (the IWM* interfaces) combined with samples showing how the library works. If you are not a programmer there is nothing in this project that you are going to find useful.
SlimDX / http://code.google.com/p/slimdx/ <MIT>
SlimDX is an open source, free framework to allow developers to easily build DirectX applications using .NET technologies such as C#, VB.NET, and IronPython.
Microsoft Windows® API Code Pack for Microsoft® .NET Framework
Windows® API Code Pack for Microsoft® .NET Framework provides a source code library that can be used to access some features of Windows 7 and Windows Vista from managed code. These Windows features are not available to developers today in the .NET Framework.
ShartDX / http://code.google.com/p/sharpdx/ <MIT>
SharpDX is an open-source project delivering the full DirectX API under the .Net platform, allowing the development of high performance game, 2D and 3D graphics rendering as well as realtime sound application.

For Delphi

  • 国内
Project Quadruple D
Quadruple Dは、DelphiにフィットしたDirectXを使うコンポーネントを提供する計画の名前です。
  • 海外
Delphi resources
Delphi DirectX 9.0 SDK with examplesの公開。

For Ruby

DXRuby
RubyからDirectXを扱う拡張ライブラリです。2Dのみ対応。Windows用の簡単なゲームを簡単に作れるものを目指しています。

参考書籍

読み込みに時間が掛かるので、下位ページに移動。3Dグラフィック関連は link集/3D Graphics#General_Books に有り。


*1 このバージョンからDirectX8以前、DirectPlay等のコンポーネントを含まない
*2 このバージョンからDXUTのIME入力が改善
*3 DownloadしたCAB形式の自己解凍書庫は、Windows2000では「有効な Win32 アプリケーションではありません。」となって実行出来ない。但し、アーカイバを利用する事で中身は取り出し可能。
*4 D3DX_VERSION / D3DX_SDK_VERSION
*5 このバージョンからDXERR9ライブラリ(dxerr9.h/dxerr9.lib)が削除された。替わりににdxerr.h/dxerr.libを使う。
*6 このバージョンからDirectX8以前、DirectPlay等のコンポーネントを含まない。またstrsafe.hが含まれなくなった
*7 このバージョンからDXUTのIME入力が改善
*8 DirectX9専用のDXUTを提供する最後のバージョン
*9 実行環境としてWin9xをサポートする最後のバージョン
*10 DirectX 10.0 SDKでDirectX 8.1/9.0ベースのアプリケーション開発も出来る
*11 The Direct3D Reference Rasterizer is not installed on any versions of Windows Server 2003 product family.
*12 http://blogs.msdn.com/directx/archive/2009/09/14/d3d9d-dll-from-march-2009-directx-sdk-mismatch-with-windows-7-rtm.aspx
*13 該当するバージョンのSDKをぶち込むとインストールされる
*14 該当するバージョンのSDKをぶち込むとインストールされる
*15 該当するバージョンのSDKをぶち込むとインストールされる

ページ先頭へ   最終更新のRDF 最終更新のRSS
Last-modified: 2014-01-17 (金) 08:51:01 (1313d)
Valid XHTML 1.1 Valid CSS! [Valid RSS]