12

2つの機能の違いは何ですか? パフォーマンスの違いはありますか?

ありがとう..

4

2 に答える 2

24

を使用してテクスチャを作成glTexImageし、 でその内容を更新glTexSubImageします。テクスチャを更新する場合、テクスチャ全体、またはそのサブ長方形のみを更新できます。

作成と削除を繰り返すよりも、1 つのテクスチャを作成して更新する方がはるかに効率的です。その意味で、更新したいテクスチャがある場合は、常にglTexSubImage(最初の作成後に) 使用します。

テクスチャの更新には、他の手法を適用できる場合があります。たとえば、詳細については、テクスチャ ストリーミングに関するこの記事を参照してください。

(もともと、この投稿ではglMapBuffer、テクスチャの更新に使用することを提案していました。以下の説明を参照してください。)

于 2010-03-09T00:26:26.557 に答える
0

名前に「sub」が含まれるgl関数は、2の累乗の次元に限定されません。gavinbが指摘しているように、全体的なディメンションを設定するには、非サブバリアントを1回使用する必要がありますが、非サブバリアントを繰り返し呼び出すことが、更新に「サブ」を使用するよりも遅いことに同意しません。GPUは同じテクスチャIDを使用している限り、既存のテクスチャをその場で自由に上書きできます。

于 2010-03-09T00:29:18.267 に答える