OpenGL\u多边形功能不正常

OpenGL\u多边形功能不正常,opengl,glsl,polygon,fragment-shader,vertex-buffer,Opengl,Glsl,Polygon,Fragment Shader,Vertex Buffer,我有一个与OpenGL相关的问题。每当我尝试使用顶点缓冲区中的四个顶点绘制简单多边形时。。。什么也没发生。但是,它将以GL_三角形或GL_三角形条带模式绘制形状,尽管扭曲。我做错什么了吗 相关代码: 顶点数组: GL_多边形: GL_三角形: GL_三角带: 我使用的是向前兼容的3.2内核配置文件 首先,永远不要使用“向前兼容的核心配置文件”。您应该只使用核心配置文件;停止使用前向兼容性位。这是毫无意义的 更重要的是,GL_POLYGON不是核心OpenGL配置文件的一部分。因此,您的代码可能会

我有一个与OpenGL相关的问题。每当我尝试使用顶点缓冲区中的四个顶点绘制简单多边形时。。。什么也没发生。但是,它将以GL_三角形或GL_三角形条带模式绘制形状,尽管扭曲。我做错什么了吗

相关代码:

顶点数组:

GL_多边形:

GL_三角形:

GL_三角带:

我使用的是向前兼容的3.2内核配置文件

首先,永远不要使用“向前兼容的核心配置文件”。您应该只使用核心配置文件;停止使用前向兼容性位。这是毫无意义的

更重要的是,
GL_POLYGON
不是核心OpenGL配置文件的一部分。因此,您的代码可能会给您一个您忽略的
GL\u INVALID\u ENUM
错误

最后,始终在问题中发布OpenGL版本和配置文件

我使用的是向前兼容的3.2内核配置文件

首先,永远不要使用“向前兼容的核心配置文件”。您应该只使用核心配置文件;停止使用前向兼容性位。这是毫无意义的

更重要的是,
GL_POLYGON
不是核心OpenGL配置文件的一部分。因此,您的代码可能会给您一个您忽略的
GL\u INVALID\u ENUM
错误


最后,始终在问题中发布OpenGL版本和配置文件。

为什么首先要使用多边形?在OpenGL中,多边形必须是凸的,这是非常有限的。因此,多边形已从OpenGL的更高版本中全部删除(也是四边形)。坚持使用三角形,一开始就不关心多边形……这就是为什么它不以多边形模式绘制的原因吗?我使用的是向前兼容的3.2内核配置文件。为什么首先要使用多边形?在OpenGL中,多边形必须是凸的,这是非常有限的。因此,多边形已从OpenGL的更高版本中全部删除(也是四边形)。坚持使用三角形,一开始就不关心多边形……这就是为什么它不以多边形模式绘制的原因吗?我使用的是向前兼容的3.2内核配置文件。