C++とDirectX12の勉強を開始しました。
こんにちは、ここあです。
タイトルの通り、C++を使ってDirectX12(以下DX12)の勉強を始めました。
実際には少し前から始めていたのですが、今までゲーム開発で使用していたUnity C#と比べて、C++のコーディングに慣れるのに大分時間がかかってしまいました。
少し慣れてきたので、本格的にDX12を触り始めると……
・初期化処理がやたら長い!
・プログラム初心者のようなミス連発!
・ほぼ初めて、まともに触るVisualStudioの環境構築に悪戦苦闘!
こんな感じで、自分でもバカなのではと思うほどに出てくる問題の数々。
思い出せば、プログラムの触り始めもこんな感じだったような……?
まぁ、それはさておき本題に入りましょう。
DX12ですが、勉強を始めて思ったこととして、2015年に出たとはいえ、やっぱりまだ資料が少ないです。英語で書かれた海外のプログラマの方々が書いて下さっていますが、英語が若干分かるとはいえ、やっぱり読むのは辛かったり……
それでも、資料が少ないので頑張って色々読んで理解を深めていきました。
C++も初めて書くという暴挙も相まって、C#のように上手くクラスのインスタンスを作れなかったり、ポインタの使い方をいまいち自分の中に消化できなかったりと苦戦もしました。
そうこうして、ようやくMicrosoftのDX12のワーキングサンプルを参考にDX12の初期化に成功しました。
現在、作ったソースコードが初期化から描画まで、同じcppファイルに記述しているので、リファクタリングをして、しっかりと分けた後にソースコードを備忘録も兼ねた、自分なりの解説も交えて書こうかと思います。
正直、この記事を書いている間にも、C++を理解できていない部分が多いせいで大量のエラーと格闘してたりしますが、その辺のことも書きたいですね……。