我能够创建三维项目并在屏幕上制作动画,但无论出于何种原因,我都无法弄清楚我在绘制一个该死的矩形作为地板时出错了。
加载并绘制矩形:
void loadRectangle(float x[5], float y[5], float z[5])
{
x[0]=-8.0; y[0]=-1.00; z[0]=1.0;
x[1]=8.0; y[1]=-1.00; z[1]=1.0;
x[2]=8.0; y[2]=1.0; z[2]=1.0;
x[3]=-8.0; y[3]=1.0; z[3]=1.0;
x[4]=1.0; y[4]=1.0; z[4]=1.0; //color to be used in this case red
}
void drawRectangle(float x[5], float y[5], float z[5])
{
int i;
glColor3f(x[4],y[4],z[4]);
glBegin(GL_POLYGON); //draws the rectangle
for (i=0; i<=3; i++)
glVertex3f(x[i],y[i],z[i]);
glEnd();
}
设置转换矩阵......
void settransRectangle(void)
{
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef(0.0,-3.0,1.0);
return;
}
在渲染中呼叫所有人......
loadRectangle(rectX, rectY, rectZ);
settransRectangle();
drawRectangle(rectX, rectY, rectZ);
我完成它的方式与我在屏幕上制作动画的三维项目相同,即使我注释掉了我的每一段代码,它根本就不会显示出来除此之外。