1

私が作成しているデモのために、3x2の長方形の平らな面に並べて表示しようとしているpic.bmpがあります。

bmpのアスペクト比をそのまま維持しようとしていますが、それでもそのサーフェス全体に並べて表示したいと思います。現在、サーフェスの頂点は(0,0,0)、(3,0,0)、(0,2,0)、および(3,2,0)です。

このbmpを平らな面に適用して並べて表示するにはどうすればよいですか?GLUTとOpenGLでこれを行うための最良の方法は何ですか?

4

1 に答える 1

3

サンプルについては、この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回タイリングされます。

于 2009-04-13T05:31:55.037 に答える