Nanashi-soft○プログラマ専用○DirectX11開発○
◇DirectX11プログラミング -DirectX11の動作を分析-
これから書く話は,私の論理的思考によって分析した結果であり,本来の DirectX11の作りとは関係ありません(*'-')
モデルデータを管理するクラスを作る為には,仕組みを分析する必要があります
流れはこういう感じになっていると予想
1.生成
2.設定
3.実行
例えば頂点データは,
1.CreateBufferで生成
2.IASetVertexBuffersで設定
3.Drawで実行(描画)
頂点シェーダーだと,
1.CreateVertexShaderで生成
2.設定なし
3.VSSetShaderで実行
※この 2.設定が無い場合は,実行時にポインタを直接渡しになります
これがわかっていれば,管理しなければならないデータも明確になります
頂点データはDrawで指定する引数,頂点シェーダーはVSSetShaderで指定するシェーダープログラムの関数ポインタ,をそれぞれ管理する必要があります
次に,それらのデータが,メモリ上にどのように配置されているのかを把握する
例えば,頂点データはIASetVertexBuffers後にはメインメモリ上にはデータが存在しません
その証拠に,hpBufferを解放しても描画可能です
逆にシェーダーの場合は,hpPixelShaderを解放するとプログラムは実行されません
ですから,hpPixelShaderは描画時にも保管しておく必要があります
これが DirectX11を操る為の核となる考え方です
この 3.に当たる部分に必要なパラメータを管理するクラスを作る。と言うのが現在の目的です
○TOP○プログラマ専用○DirectX11開発○