Loops OpenGL中的三维立方体网格
我在这里得到一些关于OpenGL中3D立方体网格的帮助。现在,我只有以下代码中的二维网格:Loops OpenGL中的三维立方体网格,loops,opengl,grid,cube,opengl-compat,Loops,Opengl,Grid,Cube,Opengl Compat,我在这里得到一些关于OpenGL中3D立方体网格的帮助。现在,我只有以下代码中的二维网格: glBegin(GL_四边形); 对于(GLfloat i=-5.5;i如果要在立即模式下执行此操作(glBegin/glEnd),最简单的方法是使用嵌套循环和进行模型转换。由于glTranslate指定了一个新的转换矩阵,并将当前矩阵乘以新矩阵,因此当前矩阵必须通过保存和还原。 编写一个函数(cube),用于绘制唯一的多维数据集,并通过以下方式设置和修改多维数据集模型的大小: GLfloat size=
glBegin(GL_四边形);
对于(GLfloat i=-5.5;i如果要在立即模式下执行此操作(glBegin/glEnd
),最简单的方法是使用嵌套循环和进行模型转换。由于glTranslate
指定了一个新的转换矩阵,并将当前矩阵乘以新矩阵,因此当前矩阵必须通过保存和还原。
编写一个函数(cube
),用于绘制唯一的多维数据集,并通过以下方式设置和修改多维数据集模型的大小:
GLfloat size=0.2f;
GLfloat间隙=尺寸*0.2f;
对于(int i=-5;i<5;++i)
{
对于(int j=-5;j<5;++j)
{
glPushMatrix();
GLfloat x=(尺寸+间隙)*(GLfloat)i;
GLfloat y=(尺寸+间隙)*(GLfloat)j;
glTranslatef(x,y,0.0f);
glScalef(尺寸*0.5f,尺寸*0.5f,尺寸*0.5f);
立方体();
glPopMatrix();
}
}
void多维数据集(void)
{
静态常数浮动垂直[]={
1, -1, -1,
1, 1, -1,
-1, 1, -1,
-1, -1, -1,
1, -1, 1,
1, 1, 1,
-1, -1, 1,
-1, 1, 1,
};
静态常数int曲面[]={0,1,2,3,3,2,7,6,6,7,5,4,5,1,0,1,5,7,2,4,0,3,6};
静态常量浮动颜色[]={1,0,0,0,1,0,0,1,1,1,0,1,0,1,0,1,1,0.5,0};
glBegin(GL_QUADS);
用于(内部侧=0;侧<6;++侧)
{
glColor3fv(颜色+侧面*3);
对于(int corner=0;corner<4;corner++)
{
int vi=表面[侧面*4+拐角];
glVertex3fv(垂直+vi*3);
}
}
格伦德();
}
谢谢你的帮助…我运行它,它显示了立方体网格,但我如何在x轴上旋转它,使它看起来像地面?现在它是垂直显示的,我尝试了glRotatef,但它没有旋转:(@StrugglerGLTRANSTALEF(x,y,0.0f);
->GLTRANSTALEF(x,0.0f,y)
太好了,我也想到了!!!非常感谢你的帮助。。。