Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops OpenGL中的三维立方体网格_Loops_Opengl_Grid_Cube_Opengl Compat - Fatal编程技术网

Loops OpenGL中的三维立方体网格

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=

我在这里得到一些关于OpenGL中3D立方体网格的帮助。现在,我只有以下代码中的二维网格:

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,但它没有旋转:(@Struggler
GLTRANSTALEF(x,y,0.0f);
->
GLTRANSTALEF(x,0.0f,y)
太好了,我也想到了!!!非常感谢你的帮助。。。