c++ - Open GL无法绘制一些三角形

标签 c++ opengl geometry

我画了一个三角形{(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 中)——结果相同。我做错了什么?

最佳答案

您需要根据 frontface 设置以顺时针或逆时针顺序绘制所有顶点,您可以 google 以获取更多详细信息。

关于c++ - Open GL无法绘制一些三角形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26560213/

相关文章:

java - LWJGL 3、VAO 和 Shader 不渲染

macos - 将 CVPixelBuffer 渲染到 NSView (macOS)

python - 如何计算两条线之间的交点,其中一条线由数据框列定义

C++ 在 Mac 上查找执行路径

c++ - 当我在 C++ 中创建指针数组时无法读取内存

c++ - Unresolved inclusion <GL/glut.h>

JQuery SVG - 获取 R 的圆值

c++ - 我如何为以下代码进行进程同步?

c++ - 新的定义

c# - 检测地理位置是否在复杂的多边形中