XNA対OpenTK対SlimDX対OpenGL対DXについて尋ねる多くの興味深い質問を読みました。これらのさまざまなAPI /フレームワークを使用して数百時間から他の一般的な印象を得るのは本当に便利ですが、私はしていませんそれぞれの範囲が何であるかを明確に定義する答えを見た。
API、エンジン、フレームワークの違いは理論的には何であるかは理解していますが、グラフィックスシステムの経験が限られている人にとっては、実用的な側面で何が各カテゴリに分類されるかを理解するのは困難です。(すべてのオーバーラップによって簡単にはなりません!たとえば、XNAがコンテンツパイプラインを不可欠な部分として実装しています)
たとえば、顔カリングを考えてみてください。XNAは、プログラマが考える必要なく、これをバックグラウンドで「実行」しますが、どこで発生するのでしょうか。呼び出す必要があるDXの「カルフェース」関数、またはおそらくXNAの上の関数がありますか?または、GPUまたはそのドライバーはそれを行いますか?
効率的なレンダリングコードを実装することがいかに困難であったか、およびそのプロジェクトがどのように抽象化したかについて、管理されたプロジェクトの1つに関するドキュメントを読みました(不愉快なことに私は覚えていません)。これは私を少し不安にさせ、フレームワークがより柔軟なもののために残された場合に手動で行わなければならないDrawIndexedPrimitivesの下でXNAが何をしているのか疑問に思いました。
XNA はバックグラウンドで何を行うのでしょうか。そのキューブをレンダリングするとき、マネージAPIはそうしませんでしたか?