打开GL无法绘制一些三角形
Open GL can't draw some triangles
我画了一个三角形{(0,0), (1,0), (0,1)}
。现在我想画第二个。但由于某种原因,没有任何三角形绘制。例如三角形:{(1.5654, 1.2), (1.1, 1.4564), (1.5, 1.15)}
绘制为正常,但不显示三角形{(1,1), (1,0), (0, 1)}
。听听我用来绘制的代码:
glBegin(GL_TRIANGLES);
invers_sh.setAttributeValue(b_colorLoc, colors[0]);
glVertex2d(1.5654, 1.2);
invers_sh.setAttributeValue(b_colorLoc, colors[1]);
glVertex2d(1.1, 1.4564);
invers_sh.setAttributeValue(b_colorLoc, colors[2]);
glVertex2d(1.5, 1.15);
glEnd();
对于第一个三角形,它是相同的代码(但坐标不同(。我试图将两个图纸(在一个glBegin/glEnd中(结合起来 - 相同的结果。我做错了什么?
您需要
根据正面设置以顺时针或逆时针顺序绘制所有顶点,您可以谷歌以获取更多详细信息。
正如另一个答案所指出的,您需要以相同的顺序绘制所有三角形的顶点,顺时针或逆时针(OpenGL 默认值(。要更正顺序,只需换出第一个和最后一个顶点。
您可以使用 OpenGL 命令(如 glCullFace、glFrontFace 和 glEnable/glDisable with GL_CULL_FACE
(来控制此行为(称为 FaceCulling(。
相关文章:
- 绘制旋转的三角形
- 绘制顺时针三角形,重新排序点
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- 是否可以使用 DirectX 3D 11 绘制由三角形组成的圆?
- OpenGL绘制三角形而不是正方形
- 在 OpenGL 中使用三角形绘制字母?
- 为什么这个在 opengl 中绘制三角形的着色器没有多次运行
- 使用 glDrawArray 函数绘制三角形
- 三角形未绘制.C++/GLEW/SDL.
- GLFW程序不绘制三角形
- OpenGL不会绘制三角形,遵循确切的格式
- 使用 C++ 库 GLEW 在 openGl 中绘制一个红色三角形
- 用OpenGL绘制三角形
- 绘制三角形时只有空白屏幕
- OpenGL绘制三角形只有白色
- 使用 OpenGL 绘制基本三角形
- 计算机图形:我自己绘制三角形
- 如何使用OSG API在Osgearth上绘制三角形
- 理解在OpenGL 3.3+内核中使用三角形绘制四边形的代码
- OpenGL:使用退化三角形绘制线条