次の方法で共有


glPrioritizeTextures 関数

glPrioritizeTextures 関数は、テクスチャの常駐優先度を設定します。

構文

void WINAPI glPrioritizeTextures(
         GLsizei  n,
   const GLuint   *textures,
   const GLclampf *priorities
);

パラメーター

n

優先順位を付けるテクスチャの数。

テクスチャ

優先順位を付けるテクスチャの名前を含む配列の最初の要素へのポインター。

優先 順位

テクスチャの優先順位を含む配列の最初の要素へのポインター。 priorityities パラメーターの要素で指定された優先度は、textures パラメーターの対応する要素によって指定されたテクスチャに適用されます。

戻り値

この関数は値を返しません。

エラー コード

glGetError 関数では、次のエラー コードを取得できます。

名前 意味
GL_INVALID_VALUE
n は負の値であった。
GL_INVALID_OPERATION
glBegin の呼び出しと glEnd の対応する呼び出しの間に関数が呼び出されました。

解説

glPrioritizeTextures 関数は、priorities パラメーターで指定された n 個のテクスチャ優先度を、textures パラメーターで指定された n 個のテクスチャに割り当てます。 テクスチャ メモリの量が限られているコンピューターでは、OpenGL はテクスチャ メモリに存在するテクスチャの "ワーキング セット" を確立します。 これらのテクスチャは、常駐していないテクスチャよりもはるかに効率的にテクスチャ ターゲットにバインドできます。

各テクスチャの優先度を指定することで、 glPrioritizeTextures 関数を使用すると、どのテクスチャを常駐させる必要があるかどうかを判断できます。

優先度のテクスチャ優先度要素は、割り当てられる前に範囲 [0.0, 1.0] にクランプされます。 ゼロは優先度が最も低いことを示します。したがって、優先度 0 のテクスチャは常駐する可能性が最も低くなります。 値 1.0 は、最も高い優先度を示します。したがって、優先度 1.0 のテクスチャは常駐する可能性が最も高くなります。 ただし、テクスチャがバインドされるまでは、テクスチャが常駐することが保証されません。

glPrioritizeTextures 関数は、テクスチャ 0 または既存のテクスチャに対応しないテクスチャ名の優先順位付けを行う試行を無視します。 textures パラメーターによって名前付けされた関数をテクスチャ ターゲットにバインドする必要はありません。

テクスチャが現在バインドされている場合は、 glTexParameter 関数を使用してその優先度を設定することもできます。 これは、既定のテクスチャの優先度を設定する唯一の方法です。

表示リストに glPrioritizeTextures を 含めることができます。

次の関数は、 glPrioritizeTextures に関連する現在バインドされているテクスチャの優先度を取得します。

注意

glPrioritizeTextures 関数は、OpenGL バージョン 1.1 以降でのみ使用できます。

必要条件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Gl.h
ライブラリ
Opengl32.lib
[DLL]
Opengl32.dll

関連項目

glAreTexturesResident

glBegin

glEnd

glGetTexParameter

glTexImage1D

glTexImage2D

glTexParameter