glGenBuffers 不设置缓冲区

glGenBuffers does not set buffer

本文关键字:缓冲区 设置 glGenBuffers      更新时间:2023-10-16
有什么

原因glGenBuffers(1, &bufferID)没有成功将ID分配到bufferID

#define GL_GLEXT_PROTOTYPES 1
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glext.h>
#include <stdio.h>
int main (void) {
    GLuint bufferID = 0;
    glGenBuffers( 1, &bufferID );
    printf("bufferID: %dn", bufferID);
    return 0;
}

编译为

g++ -o glTest glTest.c -lGL -lGLU

输出:

arrID: 0

我在 AWS EC2 g2.2xlarge 实例上使用 Ubuntu 14.04。

你需要一个当前的 opengl 上下文来调用任何 gl 函数。您可以使用 glx 或 egl 创建上下文并使其处于当前状态。

您没有 GL 上下文,因此所有赌注都已关闭。 在没有当前上下文的情况下调用任何 GL 函数是完全未定义的行为。