2

古代の OpenGL の時代には、ウィンドウ全体にテクスチャ付きのクワッドを描画したい場合、テクスチャをバインドし、glVertex と glTexCoords を複数回呼び出すだけで済みました。

最近では、これを行うには、テクスチャ メモリからコピーするだけのシェーダーを作成し、それをロードしてコンパイルする必要があるようです。また、座標、テクスチャ座標、およびクワッド インデックスを保持するために VBO を作成する必要があります。さらに、各座標がどこにあるかを OpenGL に伝える必要があります。

もっと簡単な方法はありませんか?

4

1 に答える 1

1

新しい OpenGL ははるかに柔軟ですが、少し複雑でもあります。まず、インデックスを使用する必要はありません。インデックス VBO を指定しない場合、ドローコールはバッファーから頂点とテクスチャ座標を反復処理するだけです。glVertex**vこれは、ベクトルベースの関数 (古い GL でも使用する必要があります) を使用する場合と大差ありません。

また、シェーダーは文字列にハードコードできます。その場合、ファイル操作機能を提供する必要はありません。

すべてを足し合わせると、古い OpenGL よりもコードが長くなることはありません。実際、以前にベクトル関数を使用していなければ、少し短くすることさえできます。

于 2012-07-31T13:45:16.333 に答える