要紋理貼圖一個四下面的代碼工作:拉伸一個紋理在多個四邊形
glBegin(GL_QUADS);
glTexCoord2f(0,0) ;
glVertex3f(-1,-1,0);
glTexCoord2f(1,0);
glVertex3f( 1,-1,0);
glTexCoord2f(1,1);
glVertex3f( 1, 1,0);
glTexCoord2f(0,1);
glVertex3f(-1, 1,0);
glEnd();
我的問題是,我怎麼能映射一個紋理以下多個四。 for循環創建由2個單元邊緣小四邊形做了10×10四,我想從1x1th四伸展我的紋理10x10th四:
void wall(int num)
{
int wallx;
int wally;
for(wallx=0;wallx<num;wallx++)
{
for(wally=0;wally<num;wally++)
{
glPushMatrix();
glBegin(GL_QUADS);
glVertex3f(-1 + wallx*2,-1+ wally*2,0);
glVertex3f( 1+ wallx*2,-1+ wally*2,0);
glVertex3f( 1+ wallx*2, 1+ wally*2,0);
glVertex3f( -1+ wallx*2, 1+ wally*2,0);
glEnd();
glPopMatrix();
}
}
}
我的眼睛在欺騙我嗎? glBegin()和glEnd()?請不要使用它,它已被棄用。 – ScarletAmaranth 2011-12-21 23:07:55
如何在不使用glBegin和glEnd的情況下做到這一點? – 2011-12-21 23:30:11