GLARETEXTURESRESIDENT

Section: Misc. Reference Manual Pages (3G)
索引 xjman
 

名前

glAreTexturesResident - テクスチャがテクスチャメモリにロードされているかどうかを調べる

 

C SPECIFICATION

GLboolean glAreTexturesResident( GLsizei n,

                                   const GLuint *textures,
                                   GLboolean *residences )

 

PARAMETERS

n
調べるテクスチャの枚数を指定する。
textures
調べるテクスチャの名前が格納されている配列を指定する。
residences
テクスチャがメモリ上にあるかどうかの状態(residence ステータス)が返される配列を指定する。 textures の要素が指すテクスチャの residence ステータスは、 これに対応する residences の要素に返される。
 

説明

GL はテクスチャの「ワーキングセット」を作る。 これはテクスチャメモリ上に存在する。 これらのテクスチャは、テクスチャメモリ上にないテクスチャよりも ずっと効率的にテクスチャの貼り付け先に割り当てることができる。 glAreTexturesResident は、配列 textures の要素によって指示される n 個のテクスチャの residence ステータスを問い合わせる。 指示された全てのテクスチャが resident ならば、 glAreTexturesResidentGL_TRUE を返し、 residences の内容は変更されずにそのまま残る。 指示されたテクスチャの一部が resident でない場合は、glAreTexturesResidentGL_FALSE を返し、詳細な結果が配列 residences の要素に返される。 ある residences の要素が GL_TRUE ならば、これに対応する textures の要素が指すテクスチャは resident である。 割り当てられているテクスチャ 1 個の residence ステータスは、 glGetTexParameter を呼ぶことでも問い合せできる。 この問い合せの際には、 引き数 target にテクスチャが貼り付けられている対象に設定し、 引き数 pnameGL_TEXTURE_RESIDENT を設定する。 この方法は、デフォルトのテクスチャの residence ステータスを求めることが できる唯一の方法である。  

注意

glAreTexturesResident はバージョン 1.1 以降の GL でしか利用できない。 glAreTexturesResident が返すのは、関数が呼び出された時点のテクスチャ の residence スタータスである。 テクスチャがそれ以外のときにも resident であることは保証されない。 テクスチャが仮想メモリ上にある(テクスチャメモリがない)場合には、 テクスチャは常に resident であるものとして扱われる。 一部の実装においては、テクスチャが最初に使われる時点までは 実際のロードは行われない。  

エラー

n が負の場合には GL_INVALID_VALUE エラーとなる。 textures のいずれかの要素が 0 であるか、テクスチャを指していない場合には GL_INVALID_VALUE エラーとなる. この場合には、関数は GL_FALSE を返し、配列 residences の 内容は不定となる。 glBegin とこれに対応する glEnd の間に glAreTexturesResident が実行された場合 GL_INVALID_OPERATION エラーとなる。  

関連する取得値

引き数 name に GL_TEXTURE_RESIDENT を指定して glGetTexParameter を呼び出すと、現在割り当てられているテクスチャの resident スターテスが得られる。  

関連項目

glBindTexture(3G), glGetTexParameter(3G), glPrioritizeTextures(3G), glTexImage1D(3G), glTexImage2D(3G), glTexImage3D(3G), glTexParameter(3G)


 

Index

名前
C SPECIFICATION
PARAMETERS
説明
注意
エラー
関連する取得値
関連項目

jman



Time: 07:01:04 GMT, January 12, 2009