DirectX11始めました
以前からシェーダーなど含めて触ってみたかったのと,一応就活用にDirectX11触り始めました.
年内に簡単なTPSもどき作ることを目標にしてます.
触り始めたバージョンが11なのは,12は魔境みを感じたのと,9だと最新のシェーダーを試すのが難しそうだと思ったからです.
これまでのDirectX歴は「DirectX9シェーダープログラミングブック」のサンプルだけ一通り動かしたぐらいで,正直パイプラインとかはよくわからないままシェーダーの計算式の部分だけ追った程度です.*1
こっから1ヶ月ぐらいは,「ゲームプログラマになる前に覚えておきたい技術」の3D計算系の部分を読み返しつつ,「DirectX10/11プログラミングブック」を読んでいって初歩的な部分を把握して,DirectX Tool Kitとか触ってみようかと思っています.
現状の進捗ですが,Visual Studio 2015に付いてるサンプルを改変して各頂点の座標を変えるプログラムを作りました.
Visual Studio 2015にももっと最小のサンプルコードつけてほしいなあとか思ったり*2.
よってネットでサンプルコードを探したのですが,初歩的でミニマムなサンプルコードを探すのに結構苦労しました.DirectX初心者としては公式のSDKをインストールしてC直下のフォルダに展開されるSamples内のTutorialが現状ネットで見つけた中で一番わかりやすかったです.ここぐらいまでやって,ネットだと情報調べるのに時間がかかりそうと思い,本を買いました.
以下,読んでる本の雑感です.
DirectX 10/11 プログラミング
DirectX 11に関して解説している数少ない本.基本を理解するための,小さくまとまったサンプルコードを解説していく形式.DirectX 11で小さくまとまったサンプル(日本語解説付き)はとても貴重だし,かつとても分かりやすかった.DirectXに触ったことがない人で,11から始める人は現時点だとこれが一番オススメ. サンプルコードはVS2008, VS2010のソリューションで作られており、VS2017を使うと残念ながらfbx読み込みが絡む一部のコードはライブラリの関係で動かない.
参考:
VisualC++とDirectX SDKの設定 最新情報
VisualC++ ビルドエラー ’main’: entrypoint not found | ノースブレイン コンピューターゲームゲームプログラマになる前に覚えておきたい技術
ゲームプログラミングに必要な知識(3D描画の知識含む)が一通り書いてある.内容としては作者独自のエンジンの機能を使い,3Dロボ対戦TPSゲームを作るというもの. VS2017で動かすには,ゲームプログラマーになる前に覚えておきたい技術 近代化プロジェクト を参照DirectX 9 シェーダプログラミングブック
基本的なシェーダーの解説,実装がメインの本.計算式など含む解説と,3D描画の基礎知識がサンプルコードと共に載っている.DirectX 9で書かれているが,シェーダーのコードを書き直せば11に移植できるはず.絶版してるので入手困難.
これまでDirectXを全く触ったことがなく,これから11を初めたい方は,「DirectX 10/11 プログラミング」を読み始め,足りない3D描画関係の知識を「ゲームプログラマになる前に覚えておきたい技術」で補完するといいと思いました.Visual Studio 2017でそのまま動くDirectX11のサンプルがついたシェーダープログラミングブックととかSEGA本とかDirectX10/11の初心者用本が出てくれるといいなあ(詠嘆)
余裕あれば友達にDirectX11を布教して仲間*3を増やしたいと思いつつ...
ではでは.