C++ OpenGl:绘制一个简单的矩形

C++ OpenGl:绘制一个简单的矩形,c++,opengl,draw,rectangles,C++,Opengl,Draw,Rectangles,我能够创建三维项目,并在屏幕上设置动画,但无论出于何种原因,我都无法找出我在绘制一个该死的矩形地板时出错的地方 加载并绘制矩形: 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[

我能够创建三维项目,并在屏幕上设置动画,但无论出于何种原因,我都无法找出我在绘制一个该死的矩形地板时出错的地方

加载并绘制矩形:

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();
}
调用renderscene中的所有

loadRectangle(rectX, rectY, rectZ);
settransRectangle();
drawRectangle(rectX, rectY, rectZ);

我做这件事的方式与我在屏幕上制作三维动画的方式相同,它根本没有显示出来,即使我注释掉了除此之外的所有代码。

loadRectangle
什么也不做,你不应该传递参数引用而不是值:
void loadRectangle(float&x[5],float&y[5],float&z[5])
?您使用什么来创建窗口/上下文?@AndyM
glViewport(0,0540440);格洛托(-7.0,7.0,-7.0,7.0,5.0,-5.0)
loadRectangle
什么都不做,您不应该传递参数引用而不是值:
void loadRectangle(float&x[5],float&y[5],float&z[5])
您使用什么来创建窗口/上下文?@AndyM
glViewport(0,0540440);格洛托(-7.0,7.0,-7.0,7.0,5.0,-5.0)
loadRectangle(rectX, rectY, rectZ);
settransRectangle();
drawRectangle(rectX, rectY, rectZ);