ID3D12Resource
のシェーダリソースビューを作成してID3D12GraphicsCommandList
に渡す直前に「大丈夫」と考えられ、フレームが完了した後に破棄されるのは不思議でしたか?シェーダリソースビューのパフォーマンスを作成する
上記リソースのディスクリプタビューを1回作成することに注意してください。
ID3D12Resource
のシェーダリソースビューを作成してID3D12GraphicsCommandList
に渡す直前に「大丈夫」と考えられ、フレームが完了した後に破棄されるのは不思議でしたか?シェーダリソースビューのパフォーマンスを作成する
上記リソースのディスクリプタビューを1回作成することに注意してください。
これは、Microsoftのエンジニアが、なぜCreateShaderResourceViewがvoidを返すのか、エラーコードではないのかを示す引用です。
意図的に高頻度APIにリターンコードを持たないのは、フレームごとに何千回も発生する可能性のある呼び出しごとにエラーをチェックするCPU時間の無駄になるからです。
フレームの何度も呼び出すことができるAPIであると仮定していますが、あなたの質問に対する答えは、はい、できますが、問題ではありません。
ディスクリプタヒープでビューの有効期間を保護するには、gpuが上書きする前にそれを必要とするかぎり、注意する必要があります。
よろしく!答えをありがとう。 – rantingmong
なぜそれを1回だけレンダリングしていますか? –
私はしません。私がやっているグラフィックス抽象ライブラリは、テクスチャリソースとシェーダリソースが緊密に結合されないようにします。 DX11のようなAPIでは、AFAIKの前にこれを行う方法だったので、私はテクスチャリソースの作成時にSRVを作成します。 – rantingmong