最終更新: mikk_ni3_92 2008年11月12日(水) 12:29:01履歴
現在地 >> メニュー >> 基本編20
INDEX:基本編19 << 基本編20 >> 基本編21
基本的にはテクスチャ作成だが、「glTexEnvi()関数」でポイントスプライトを設定。
「glEnable()関数」で有効化する。
[例]
... ...
ポイントスプライトができる「点」の大きさはglGetFloatv()関数で取得できる。
[例]
デフォルトではテクスチャの原点が「左上」である。もし、テクスチャの原点を「左下」にしたい場合は、
glPointParameter()関数を使う。
[例]
INDEX:基本編19 << 基本編20 >> 基本編21
基本的にはテクスチャ作成だが、「glTexEnvi()関数」でポイントスプライトを設定。
「glEnable()関数」で有効化する。
[例]
... ...
//テクスチャ作成 ... ... glBindTexture(GL_TEXTURE_2D, texture[0]); glTexEnvi(GL_POINT_SPRITE, GL_COORD_REPLACE, GL_TRUE);//ポイントスプライト glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); //拡大フィルタ glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); //縮小フィルタ ... ... ... ... glEnable(GL_TEXTURE_2D); glEnable(GL_POINT_SPRITE);//有効化 glPointSize(10); glBegin(GL_POINTS); glVertex3f(1,0,0); glEnd(); glDisable(GL_POINT_SPRITE);//無効化 glDisable(GL_TEXTURE_2D); ... ...
ポイントスプライトができる「点」の大きさはglGetFloatv()関数で取得できる。
[例]
GLfloat fSizes[2]; glGetFloatv(GL_ALIASED_POINT_SIZE_RANGE, fSizes);//ポイントスプライト有効サイズを取得 std::cout << "Enable Size (Min,Max) = ( " << fSizes[0] << ", " << fSizes[1] << " )\n";
デフォルトではテクスチャの原点が「左上」である。もし、テクスチャの原点を「左下」にしたい場合は、
glPointParameter()関数を使う。
[例]
glew等でエントリポイントを記述したものとする。 ... ... glPointParameteri(GL_POINT_SPRITE_COORD_ORIGIN, GL_LOWER_LEFT); ... ...