Opengl多个五边形
opengl multiple pentagons
我试图生成多个五边形,但由于某种原因,五边形相互连接。有什么建议吗?
GLfloat arr[] = {100,200,340,230,130,190,200,190,260,120,200};
glColor3f(1.0, 1.0, 1.0);
GLfloat angle2, r2, r_big_circle2, r_small_circle2, step2 = 3.14 / 5.0;
r_big_circle2 = 25;
r_small_circle2 = 20;
glPushMatrix();
glBegin(GL_LINE_LOOP);
for (int n = 0; n < 5; n++){
for (int i = 0; i < 10; i++)
{
r2 = (i % 2 == 0 ? r_small_circle2 : r_big_circle2);
angle2 = step2 * i;
glVertex3f(r2 * cos(angle2)-arr[n], r2 * sin(angle2)-arr[n], -500);
}
}
glEnd();
glPopMatrix();
将glBegin
和glEnd
移动到第一个for
循环中。同样,一个五边形的GL_LINE_LOOP
应该只有5个点指定的glVertex3f
-你画每个五边形两次,一次在自己的顶部。试一试:
for (int n = 0; n < 5; n++) {
glBegin(GL_LINE_LOOP);
for (int i = 0; i < 5; i++) {
r2 = (i % 2 == 0 ? r_small_circle2 : r_big_circle2);
angle2 = step2 * i;
glVertex3f(r2 * cos(angle2)-arr[n], r2 * sin(angle2)-arr[n], -500);
}
glEnd();
}
相关文章:
- OpenGL - 在抛出"__gnu_cxx::recursive_init_error"实例后终止调用?
- 了解 GLM- openGL 中的相机转换
- 如何在全屏模式下(在OpenGL中)使背景透明
- 为什么我不能使用 EGL 创建无头 OpenGl 上下文?
- OpenGL大的3D纹理(>2GB)非常慢
- OpenGl glm rotate
- C++atioglxx.pdb未加载错误glBufferData OpenGL
- OpenGL在启用深度测试时不会丢弃我的碎片
- OpenGL相机和相机空间转型的困惑
- OpenGL将纹理四边形渲染为(0,0)
- OpenGL 和 GLM 矩阵无法正确扩展,总是按比例缩小
- 发布旋转矩阵(openGL/glm)
- 如何在Visual Basic中使用矩形函数OpenGL绘制矩形
- 无法使用VAO和EBO(openGL)绘制多个对象
- 为什么我的点没有在 OpenGL 中绘制鼠标所在的位置?
- OpenGL 16 位模板缓冲区?
- 将QOpenGLWidget子类转换为使用Metal而不是OpenGL的子类是否可行?
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- 在 openGL 中多次绑定缓冲区
- Opengl多个五边形