私が作成しているデモのために、3x2の長方形の平らな面に並べて表示しようとしているpic.bmpがあります。
bmpのアスペクト比をそのまま維持しようとしていますが、それでもそのサーフェス全体に並べて表示したいと思います。現在、サーフェスの頂点は(0,0,0)、(3,0,0)、(0,2,0)、および(3,2,0)です。
このbmpを平らな面に適用して並べて表示するにはどうすればよいですか?GLUTとOpenGLでこれを行うための最良の方法は何ですか?
サンプルについては、このNeHeレッスンを参照してください。タイリングを行うには、次のように記述します。
glBegin(GL_QUADS);
// your surface
glTexCoord2f(0.0f, 0.0f); glVertex3f( 0.0f, 0.0f, 0.0f);
glTexCoord2f(3.0f, 0.0f); glVertex3f( 3.0f, 0.0f, 0.0f);
glTexCoord2f(3.0f, 2.0f); glVertex3f( 3.0f, 2.0f, 0.0f);
glTexCoord2f(0.0f, 2.0f); glVertex3f( 0.0f, 2.0f, 0.0f);
glEnd();
これにより、テクスチャ座標が設定され、このサーフェス上で任意のテクスチャが3x2回タイリングされます。