GLEVALCOORD

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

名前

glEvalCoord1d, glEvalCoord1f, glEvalCoord2d, glEvalCoord2f, glEvalCoord1dv, glEvalCoord1fv, glEvalCoord2dv, glEvalCoord2fv - 有効になっている1次元または2次元のマップを評価する

delim $$  

書式

void glEvalCoord1d( GLdouble u )


void glEvalCoord1f(
GLfloat u )


void glEvalCoord2d(
GLdouble u,

                      GLdouble v )
void glEvalCoord2f( GLfloat u,

                      GLfloat v )

 

引き数

u
先に glMap1 コマンドまたは glMap2 コマンドで 定義した基底関数に、ドメイン座標 $u$ である値を指定する。
v
先に glMap2 コマンドで定義した基底関数に、 ドメイン座標 $v$ である値を指定する。 この引き数は glEvalCoord1 コマンドにはない。
 

書式

void glEvalCoord1dv( const GLdouble *u )


void glEvalCoord1fv(
const GLfloat *u )


void glEvalCoord2dv(
const GLdouble *u )


void glEvalCoord2fv(
const GLfloat *u )


 

引き数

u
ひとつまたはふたつのドメイン座標を持つ配列を指すポインタを 指定する。 最初の座標は $u$ である。 2番目の座標は $v$ であるが、これは glEvalCoord2 系の 関数にしかない。
 

説明

glEvalCoord1 は有効状態になっている 1 次元のマップを 引き数 u において評価する。 glEvalCoord2 は同じことをするが、ふたつのドメイン値を 使って 2 次元のマップを評価する。 マップを定義するには glMap1glMap2 を呼ぶ。 有効・無効状態を変更するには glEnable および glDisable を 呼ぶ。 glEvalCoord 系コマンドのどれかが発行されると、 指示された次元において現在有効になっている全てのマップが評価される。 次に、有効状態になっているそれぞれのマップについて、 対応する GL コマンドを計算された値を使って発行したかのように 処理される。 つまり、GL_MAP1_INDEX または GL_MAP2_INDEX が 有効な場合、glIndex コマンドのシミュレーションが行われる。 GL_MAP1_COLOR_4 または GL_MAP2_COLOR_4 が 有効な場合、glColor コマンドのシミュレーションが行われる。 GL_MAP1_NORMAL または GL_MAP2_NORMAL が有効な 場合には法線ベクトルが生成され、 GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4 のいずれかが有効な場合には それぞれに対応する glTexCoord コマンドのシミュレーションが 行われる。 GL が現在有効になっている評価を行う際には、 色、色インデックス、法線、テクスチャ座標系については現在の値でなく評価値が 使われ、それ以外については現在の値が使われる。 ただし評価値により現在の値が更新されることはない。 したがって、glEvalCoord コマンドを使った glVertex コマンドがいくつも発行された場合、 それぞれの glVertex に対応する色、法線、テクスチャ座標は、 glEvalCoord コマンドが生成した値の影響を受けない。 この場合は直前の glColor, glIndex, glNormal および glTexCoord コマンドの影響を受ける。 有効状態でないマップに対しては、コマンドはまったく発行されない。 ある次元について複数のテクスチャ評価が有効になっている場合は (例えば GL_MAP2_TEXTURE_COORD_1GL_MAP2_TEXTURE_COORD_2)、 作られる座標の数が多いマップの評価だけが実行される(この場合は GL_MAP2_TEXTURE_COORD_2)。 同じように GL_MAP1_VERTEX_4GL_MAP1_VERTEX_3 を上書きし、 GL_MAP2_VERTEX_4GL_MAP2_VERTEX_3 を上書きする。 指定された次元について、3要素の頂点マップも4要素の頂点マップも有効 になっていない場合は、glEvalCoord コマンドは無視される。 glEnable に引き数 GL_AUTO_NORMAL を指定して呼び出す ことにより法線の自動生成が有効になっている場合は、 glEvalCoord2 はサーフェスの法線を解析的に生成する。 この動作は GL_MAP2_NORMAL マップの内容および有効状態とは 無関係に行われる。 ここで


bold m ~=~ {partial bold p} over {partial u} ~times~
  {partial bold p} over {partial v}


とすると、 生成される法線 $ bold n $ は

$bold n ~=~ bold m over { || bold m || }$


となる。 法線の自動生成が無効になっている場合、 これに対応する法線マップ GL_MAP2_NORMAL が(有効ならば)使われる。 法線の自動生成も法線マップも無効である場合は、 glEvalCoord2 によって法線は生成されない。  

関連する取得値

引き数 GL_MAP1_VERTEX_3 を指定した glIsEnabled

引き数 GL_MAP1_VERTEX_4 を指定した glIsEnabled
引き数 GL_MAP1_INDEX を指定した glIsEnabled
引き数 GL_MAP1_COLOR_4 を指定した glIsEnabled
引き数 GL_MAP1_NORMAL を指定した glIsEnabled
引き数 GL_MAP1_TEXTURE_COORD_1 を指定した glIsEnabled
引き数 GL_MAP1_TEXTURE_COORD_2 を指定した glIsEnabled
引き数 GL_MAP1_TEXTURE_COORD_3 を指定した glIsEnabled
引き数 GL_MAP1_TEXTURE_COORD_4 を指定した glIsEnabled
引き数 GL_MAP2_VERTEX_3 を指定した glIsEnabled
引き数 GL_MAP2_VERTEX_4 を指定した glIsEnabled
引き数 GL_MAP2_INDEX を指定した glIsEnabled
引き数 GL_MAP2_COLOR_4 を指定した glIsEnabled
引き数 GL_MAP2_NORMAL を指定した glIsEnabled
引き数 GL_MAP2_TEXTURE_COORD_1 を指定した glIsEnabled
引き数 GL_MAP2_TEXTURE_COORD_2 を指定した glIsEnabled
引き数 GL_MAP2_TEXTURE_COORD_3 を指定した glIsEnabled
引き数 GL_MAP2_TEXTURE_COORD_4 を指定した glIsEnabled
引き数 GL_AUTO_NORMAL を指定した glIsEnabled
glGetMap
 

関連項目

glBegin(3G), glColor(3G), glEnable(3G), glEvalMesh(3G), glEvalPoint(3G), glIndex(3G), glMap1(3G), glMap2(3G), glMapGrid(3G), glNormal(3G), glTexCoord(3G), glVertex(3G)


 

Index

名前
書式
引き数
書式
引き数
説明
関連する取得値
関連項目

jman



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