私は OpenGL 環境について非常に大まかに把握しているので、これは私が理解しようとしているものです。これら 2 つのスタイルのレンダリングの違いは何なのか、誰かが簡単に説明できますか? 主に、テクスチャにレンダリングすることの意味を理解したいのですが、それを選択するのが適切なのはいつですか?
1 に答える
テクスチャにレンダリングする場合、レンダリングした画像は、テクスチャとしてすぐに使用できるように処理されます。これは、実際には通常、CPU からの労力がごくわずかまたはゼロであることを意味します。通常は、より複雑なレンダリング パイプラインの一部としてテクスチャにレンダリングします。
シャドウ バッファーは最もわかりやすい例です。これは、シャドウをレンダリングする 1 つの方法です。光源がある場所にカメラを配置し、そこからシーンをレンダリングして、最終的な深度情報がテクスチャで終わるようにします。あなたはそれをユーザーに見せません。ユーザーに表示する予定の各ピクセルについて、ライトからの距離と深度マップのどこに表示されるかを計算し、深度マップに残っているものよりもライトから近いか遠いかを確認します。したがって、精度の問題にいくらかの労力を費やして、各ピクセルが光から「見える」かどうか、つまり点灯しているかどうかを確認します。
CAEAGLLayer に基づくビューへのレンダリングは、UIKit が画面に合成する方法を認識している OpenGL 出力を生成する方法です。これは、通常の Cocoa Touch ディスプレイの階層内で、iOS が最終的な OpenGL 出力をユーザーに提示できるようにする手段です。