{{fassa_face_mini.jpg|}}\\
ATI RADEON 9800 PRO 上でリアルタイム アクリル氏作(2005/01/26)
====== お知らせ ======
====== ドキュメント類 ======
* [[directx|DirectX とは]]
* 技術資料/DDS関連
* [[http://dench.flatlib.jp/ddsformatmemo.html| DDS Texture format の詳細解説 (2007/03/23)]]
* [[http://wlog.flatlib.jp/archive/1/2008-8-12|Direct3D10 と DDS テクスチャフォーマット (2008/08/12)]]
* [[ddstexture|DDSテクスチャの表示&作成ツールの解説 (2007/08/16)]]
\\
* GPU データ
* [[http://dench.flatlib.jp/gpulist.html| GPU年表 (2012/01/08)]] GPU を年代別に並べたもの。世代分類付き
* [[DirectX10 GPU| DirectX10-11 対応 GPU メモ (2010/01/19)]] Direct3D10~11 が動く GPU はどれなのか、どれくらいあるのか調べてみました。
* [[shadermodel| シェーダーの世代ごとの違い (2009/05/17)]] (随時更新) ShaderModel2.0a/2.0b 補足説明などを追加。
* [[shadermodel4asm| Direct3D 10 ShaderModel 4.0 のアセンブラ命令 (2007/10/03)]] 随時追加予定です。
* [[gpugeneration| GPU 世代毎の分類対応表 (2009/05/17)]]
* [[opengl:gpuextensions|Desktop GPU の OpenGL Extensions memo (2011/02/26)]]
* DirectX データ
* [[http://dench.flatlib.jp/dxlist.html| DirectX 一覧 (2009/02/07)]] 歴代の DirectX の解説
* [[dxsdkver| DirectX SDK バージョン一覧 (2010/06/10)]] **更新** DirectX9/10 でリリースされた SDK 一覧。SDK は数ヶ月ごとに頻繁に更新されるのでまとめてみました。
* [[http://dench.flatlib.jp/d3d10formatlist.txt|Direct3D 10.0 DXGI_FORMAT の各機能対応一覧表 (2007/10/14)]]
* OpenGL のまとめ
* [[opengl:start|OpenGL の情報インデックス Desktop / Mobile]]
\\
* モバイル向け DirectX の情報
* [[http://hp.vector.co.jp/authors/VA004474/wince/d3dmcapslist.html| WindowsMobile5.0/6.0 Direct3D Mobile DeviceCaps 一覧(2008/06/06)]]
* モバイル向け OpenGL ES 2.0 / Android の情報
* [[opengl:devices|OpenGL ES 2.0 の情報まとめ]]
* [[opengl:devicelist|端末全リスト: 日本で発売したスマートフォンやタブレットのスペック一覧 Android/iOS 他]]
* [[opengl:cpugpu|Mobile 端末の CPU/GPU の詳細メモ]]
* [[opengl:androidsdk|Android SDK/NDK install から実機の接続、サンプルの実行まで]]
* マルチタッチ
* [[multitouch:start|マルチタッチ対応機種、API の違いなど]]
* ステレオ 3D 立体視
* [[3d:start|ステレオ 3D 立体視 開発のために]]
====== blog ======
* [[http://wlog.flatlib.jp/|Direct3D blog ホイール欲しい ハンドル欲しい]]
* [[http://wlog.flatlib.jp/category/6/blogid/1|D3D Shader カテゴリのみ]]
== Direct3D10 blog について ==
DirectX10/Direct3D10 というと、やっぱり性能があがって機能的にすごい!そんなイメージがあります。 GPU メーカーや Microsoft が宣伝しているように綺麗な見た目のインパクトや、今までと違う画期的なシェーダー、派手なエフェクトなどのデモを想像するかもしれません。
だけどこの blog では、実際に Direct3D10 を使った描画エンジンを開発しながらその過程で調べたことやわかったこと、考えたことなどを日々細々と記録しています。見た目でわかりやすい部分にはあんまり触れてなくて、非常に地味かつ狭い分野の話が多いです。
汎用的な描画やデータの流用を考えたエンジンの設計は非常に地味で地道で、どのようにシェーダーやリソースを管理して、ツールとどう連携するかといった部分に結構時間を取られます。派手なのは地道に積み上げてきた各パーツが一気につながった最後の最後だと思います。
また Direct3D10 の利点は単に「描画性能がすごい」だけでは決してなく、設計上の自由度が上がって柔軟な設計を許容し、開発者の負担を減らす効果もあります。(まだ効果よりは、自由度があがったゆえの設計の苦しみに悩んでいるのが実情なのですが)
===== blogエントリより =====
==== Direct3D11 ====
* [[http://wlog.flatlib.jp/archive/1/2008-12-8|2008/12/08 Direct3D11/DirectX11 (18) GPU を使ったアウトラインフォントの描画の(6)]]
* [[http://wlog.flatlib.jp/archive/1/2008-12-7|2008/12/07 Direct3D11/DirectX11 (17) GPU を使ったアウトラインフォントの描画の(5)]]
* [[http://wlog.flatlib.jp/archive/1/2008-11-28|2008/11/28 Direct3D11/DirectX11 (16) GPU を使ったアウトラインフォントの描画の(4)]]
* [[http://wlog.flatlib.jp/archive/1/2008-11-27|2008/11/27 Direct3D11/DirectX11 (15) GPU を使ったアウトラインフォントの描画の(3)]]
* [[http://wlog.flatlib.jp/archive/1/2008-11-26|2008/11/26 Direct3D11/DirectX11 (14) GPU を使ったアウトラインフォントの描画の(2)]]
* [[http://wlog.flatlib.jp/archive/1/2008-11-25|2008/11/25 Direct3D11/DirectX11 (13) TessFactor とシェーダーリンクの補足など]]
* [[http://wlog.flatlib.jp/archive/1/2008-11-24|2008/11/24 Direct3D11/DirectX11 (12) テセレータのレンダーステート他]]
* [[http://wlog.flatlib.jp/archive/1/2008-11-18|2008/11/18 Direct3D11/DirectX11 (11) 互換性とシェーダーの対応表など]]
* [[http://wlog.flatlib.jp/archive/1/2008-11-17|2008/11/17 Direct3D11/DirectX11 (10) テセレータの補間]]
* [[http://wlog.flatlib.jp/archive/1/2008-11-15|2008/11/15 Direct3D11/DirectX11 (9) テセレータによるアウトラインフォントの描画など]]
* [[http://wlog.flatlib.jp/archive/1/2008-11-14|2008/11/14 Direct3D11/DirectX11 (8) テセレータの動作]]
* [[http://wlog.flatlib.jp/archive/1/2008-11-12|2008/11/12 Direct3D11/DirectX11 (7) テセレータの流れの基本部分]]
* [[http://wlog.flatlib.jp/archive/1/2008-11-11|2008/11/11 Direct3D11/DirectX11 (6) D3D11 の ComputeShader を使ってみる]]
* [[http://wlog.flatlib.jp/archive/1/2008-11-10|2008/11/10 Direct3D11/DirectX11 (5) WARP の試し方、Dynamic Shader Linkage]]
* [[http://wlog.flatlib.jp/archive/1/2008-11-9|2008/11/09 Direct3D11/DirectX11 (4) FeatureLevel と旧 GPU の互換性、テクスチャ形式など]]
* [[http://wlog.flatlib.jp/archive/1/2008-11-8|2008/11/08 Direct3D11 (DirectX11) シェーダーの書き込み RWBuffer 他]]
* [[http://wlog.flatlib.jp/archive/1/2008-11-7|2008/11/07 Direct3D11 の遅延描画、スレッド対応機能、シェーダー命令]]
* [[http://wlog.flatlib.jp/archive/1/2008-11-6|2008/11/06 Direct3D11 Technical Preview D3D11の互換性、WARP Driver]]
* [[http://wlog.flatlib.jp/archive/1/2008-9-23|2008/09/23 Direct3D11 シェーダーの動的リンクやテクスチャ]]
* [[http://wlog.flatlib.jp/archive/1/2008-9-22|2008/09/22 Direct3D11 マルチスレッドのための機能]]
* [[http://wlog.flatlib.jp/archive/1/2008-9-21|2008/09/21 Direct3D11 テセレータとシェーダー]]
* [[http://wlog.flatlib.jp/archive/1/2008-9-20|2008/09/20 Direct3D11 のパイプライン]]
* [[http://wlog.flatlib.jp/archive/1/2008-9-19|2008/09/19 Direct3D11 Compute Shader など]]
* [[http://wlog.flatlib.jp/archive/1/2008-9-18|2008/09/18 Gamefest2008 と Direct3D 11]]
==== Direct2D 1 ====
* [[http://wlog.flatlib.jp/archive/1/2009-2-8|2009/02/08 Direct2D (5) ID2D1Geometry を使う]]
* [[http://wlog.flatlib.jp/archive/1/2009-2-5|2009/02/05 Direct2D (4) Direct2D の描画]]
* [[http://wlog.flatlib.jp/archive/1/2009-2-4|2009/02/04 Direct2D (3) 互換性の検証と Vista で Direct2D]]
* [[http://wlog.flatlib.jp/archive/1/2009-2-3|2009/02/03 Direct2D その(2) インターフェース]]
* [[http://wlog.flatlib.jp/archive/1/2009-2-2|2009/02/02 Direct2D と Direct3D10.1 の下位互換]]
==== Direct3D 10/10.1 ====
* [[Direct3D 10 10.1]]
* Direct3D 10 / 1.01 関連はこちらにまとめました。
==== Direct3D Mobile ====
* [[Direct3D Mobile]]
* WindowsMobile で使用できる Direct3D API です。関連エントリをまとめました。
==== その他トピック ====
=== GPU 一般 ===
* [[http://wlog.flatlib.jp/archive/1/2009-1-25|2009/01/25 Intel GMA500 のスペックについて考える。続き (2)]]
* [[http://wlog.flatlib.jp/archive/1/2009-1-16|2009/01/16 Intel GMA500 の機能と性能と Aero]]
=== ノーマルマップの互換性問題について ===
* [[http://wlog.flatlib.jp/archive/1/2007-9-5|2007/09/05 3D一般 ノーマルマップの互換性問題(1) ノーマルマップとは]]
* [[http://wlog.flatlib.jp/archive/1/2007-9-6|2007/09/06 3D一般 ノーマルマップの互換性問題(2) UVに潜む罠]]
=== CPU/SSE 関連 ===
* [[http://wlog.flatlib.jp/archive/1/2008-10-16|2008/10/16 Intel AVX その3 命令]]
* [[http://wlog.flatlib.jp/archive/1/2008-10-14|2008/10/14 Intel AVX その2 転送]]
* [[http://wlog.flatlib.jp/archive/1/2008-10-13|2008/10/13 Intel AVX]]
* [[http://wlog.flatlib.jp/archive/1/2008-10-3|2008/10/03 SSE3 の monitor mwait 命令]]
* [[http://wlog.flatlib.jp/archive/1/2007-8-30|2007/08/30 AMD SSE5 Shader のような新しい命令]]
* [[http://wlog.flatlib.jp/archive/1/2007-6-11|2007/06/11 CPU情報を調べる MultiCore/Thread]]
* [[http://wlog.flatlib.jp/archive/1/2007-4-21|2007/04/21 SSE についてのメモ(1)/メモ(2) SSE4など]]
====== オリジナルデモプログラム ======
* [[http://dench.flatlib.jp/arfiles/wheelhandle_ss00t.zip|wheelhandle_ss00t.zip (2007/08/04)]]
{{ss00.jpg }}
Vista + Direct3D10 用のサンプルプログラムです。
WindowsVista と Direct3D10 対応のビデオカードが必要です。
シェーダーだけで Cube の形状を生成して 描画しています。
頂点バッファもインデックスバッファもなしにモデルデータの表示が可能です。
* blog関連エントリ
* [[http://wlog.flatlib.jp/archive/1/2007-8-4|Direct3D 10 シェーダー4.0サンプルプログラム]]
* [[http://wlog.flatlib.jp/archive/1/2007-8-12|Direct3D 10 ss00 サンプルの解説 (1)]]
* [[http://wlog.flatlib.jp/archive/1/2007-8-13|Direct3D 10 ss00 サンプルの解説 (2)]]
\\
* [[http://dench.flatlib.jp/arfiles/wheelhandle_ss02t.zip|wheelhandle_ss02t.zip (2007/09/16)]]
{{ss02.jpg }}
シェーダーに文字列をそのまま渡して描画してみるサンプルです。1byte 頂点形式を使って 1頂点 = 1byte = ASCIIコード です。
* blog関連エントリ
* [[http://wlog.flatlib.jp/archive/1/2007-9-17/category/6|Direct3D ShaderModel4.0 Shaderで HELLO WORLD]]
\\
* [[http://dench.flatlib.jp/arfiles/wheelhandle_ss03t.zip|wheelhandle_ss03t.zip (2007/09/17)]]
{{ss03.png }}
シェーダーだけで迷路を作っています。初期画像を元にレンダリングを繰り返すだけで成長します。
* blog関連エントリ
* [[http://wlog.flatlib.jp/archive/1/2007-9-18|Direct3D ShaderModel4.0 Shaderで迷路作成]]
\\
* [[http://dench.flatlib.jp/arfiles/wheelhandle_ss04t.zip|wheelhandle_ss04t.zip (2007/09/18)]]
{{ss04.png }}
作った迷路を自分で探索します。色のついた無数の点が迷路の隅々まで動き回ります。これもシェーダーだけで実現しています。
* blog関連エントリ
* [[http://wlog.flatlib.jp/archive/1/2007-9-19|Direct3D 10 ShaderModel4.0 迷路の自動探索Shader]]
\\
* [[http://dench.flatlib.jp/arfiles/wheelhandle_ss06t.zip|wheelhandle_ss06t.zip (2007/10/01)]]
{{ss06.png }}
ジオメトリシェーダーでモデルを ばらばら にします。これもシェーダーのみの処理です。
* blog関連エントリ
* [[http://wlog.flatlib.jp/archive/1/2007-10-2|Direct3D 10 Shader4.0 ジオメトリシェーダーで破壊する]]
\\
* [[http://dench.flatlib.jp/arfiles/wheelhandle_ss07t.zip|wheelhandle_ss07t.zip (2007/10/05)]]
{{ss07.jpg }}
ジオメトリシェーダーを使って、プリミティブタイプ QUADLIST を描画できるようにします。
* blog関連エントリ
* [[http://wlog.flatlib.jp/archive/1/2007-10-5|Direct3D 10 Shader4.0 ジオメトリシェーダーで QUADLIST の描画]]
\\
* [[http://dench.flatlib.jp/arfiles/wheelhandle_ss10t.zip|wheelhandle_ss10t.zip (2007/10/28)]]
{{ss10.jpg }}
半透明描画で、ピクセル単位でソートを行うシェーダーです。最大重なり回数制限あり。\\
でも [[http://developer.download.nvidia.com/presentations/2007/siggraph/stencil_routed_a-Buffer_sigg07.ppt|Stencil Routed A-Buffer (PDF)]] の方がいいです。
* blog関連エントリ
* [[http://wlog.flatlib.jp/archive/1/2007-10-28|Direct3D 10 ShaderModel4.0 ピクセル単位の半透明ソートを行う]]
* [[http://wlog.flatlib.jp/archive/1/2007-10-31|Direct3D 10 ShaderModel 4.0 半透明ソート補足]]
* [[http://wlog.flatlib.jp/archive/1/2007-11-2|Direct3D 10 ShaderModel4.0 Stencil Routed A-Buffer とお詫び]]
\\
* [[http://dench.flatlib.jp/arfiles/wheelhandle_ss11t.zip|wheelhandle_ss11t.zip (2007/11/01)]]
{{ss11.jpg }}
ピクセル単位の半透明ソートシェーダーは、順番を維持しつつより高度な Blend アルゴリズムを実装できるという利点もあります。偏光板のシミュレートを行ってみました。\\
でも [[http://developer.download.nvidia.com/presentations/2007/siggraph/stencil_routed_a-Buffer_sigg07.ppt|Stencil Routed A-Buffer (PDF)]] の方がいいです。
* blog関連エントリ
* [[http://wlog.flatlib.jp/archive/1/2007-11-1|Direct3D 10 ShaderModel4.0 偏光板シェーダー]]
* [[http://wlog.flatlib.jp/archive/1/2007-11-2|Direct3D 10 ShaderModel4.0 Stencil Routed A-Buffer とお詫び]]
\\
====== HYPERでんち 3D 系ツール ======
* [[http://dench.flatlib.jp/toolold.html|3D 系ツール (古め)]]
* Susie/ViX 用 DDS Plug-in 等、従来このページにあったツールはこちらです。
====== 3D以外 ======
* [[http://hp.vector.co.jp/authors/VA004474/|フリーソフトウエア・フルパワー全開]] WindowsMobile (ZERO3/EM・ONE) や Win32/X68K 等、DirectX/3D 以外のソフトはこちらです。
====== リンク ======
* 3D/Shader 関連
* [[http://www.shader.jp/|Shader.jp]] Shader/3D 系の最新情報はこちらがお勧め。ニュースの更新が早いです。
* [[http://hp.vector.co.jp/authors/VA011430/antenna/|t-potアンテナ(仮)]]
* [[http://developer.nvidia.com/page/home.html|NVIDIA Developer]]
* [[http://ati.amd.com/developer/index.html|AMD(ATI) Developer]]
* [[http://msdn2.microsoft.com/ja-jp/xna/|XNA Developer Center]]
* [[http://forums.xna.com/29/ShowForum.aspx|XNA Creators Club Online Direct3D 10]]
====== このページについて ======
* DirectX を中心に、3D 関連の情報やツール等を掲載しています。
* リンクフリーです。無断で自由にリンクしていただいて結構です。
* [[history|サイト移転履歴]]
* [[http://wlog.flatlib.jp/member/1|問い合わせ・ご連絡はこちらからお願いいたします。]]