函数glCreateShaderObjectARB()在哪里? 我包括以下内容:
#include <gl\GL.h>
#include <gl\wglext.h>
#include <gl\glext.h>
但我无法使用glCreateShaderObjectARB()
功能!
同样,我想用:
glShaderSourceARB();
glAttachObjectARB();
glCompileShaderARB();
glLinkProgramARB();
等等。
答案 0 :(得分:2)
它是GL_ARB_shader_objects
的一部分,除非你有一个早于2.0的OpenGL实现,否则你不应该使用它。使用核心GLSL代替,函数名称略有不同(例如 glCreateShaderObjectARB (...)
是glCreateShader (...)
),但在功能上它们是相同的。
您遇到的使用ARB扩展程序的任何教程都应该被忽略,因为它太老了(10年),今天才被认为是相关的。
此外,除非您使用的是OS X,否则您将不得不使用平台的 运行时 的扩展加载机制来加载此功能,包括标题是不会解决你的问题。我建议你使用GLEW让生活更轻松。
答案 1 :(得分:0)
您应该在include:
之前使用define激活此原型#define GL_GLEXT_PROTOTYPES 1
#include <GL/glext.h>