Opengl 使用SDL的顶点缓冲区对象
使用SDL1.2时,我需要包括什么才能使用OpenGL顶点缓冲区对象(VBO) 目前,我只包括Opengl 使用SDL的顶点缓冲区对象,opengl,sdl,vertex-buffer,Opengl,Sdl,Vertex Buffer,使用SDL1.2时,我需要包括什么才能使用OpenGL顶点缓冲区对象(VBO) 目前,我只包括SDL.h、SDL\u opengl.h、SDL\u image.h 并获取错误: glGenBuffersARB、glBindBufferARB、glBufferDataARB未在此范围内声明如果要使用SDL\u opengl.h在包含它之前定义GL\u GLEXT\u原型 #define GL_GLEXT_PROTOTYPES #include "SDL.h" #include "SDL_open
SDL.h、SDL\u opengl.h、SDL\u image.h
并获取错误:
glGenBuffersARB、glBindBufferARB、glBufferDataARB未在此范围内声明
如果要使用SDL\u opengl.h
在包含它之前定义GL\u GLEXT\u原型
#define GL_GLEXT_PROTOTYPES
#include "SDL.h"
#include "SDL_opengl.h"
我可能工作,也可能不工作。如果您想以“正确”的方式进行操作,请在包含它之前使用。如果您想使用
SDL\u opengl.h
定义GL\u GLEXT\u原型
#define GL_GLEXT_PROTOTYPES
#include "SDL.h"
#include "SDL_opengl.h"
我可能工作,也可能不工作。如果您想以“正确”的方式进行操作,请使用类似的方法。您应该包括
和
。有时OpenGl扩展函数不能直接使用,必须使用SDL\u GL\u GetProcAddress加载(如果扩展不可用,则返回函数指针或0)。您可能有兴趣看看加载扩展函数的libglew
以下是您可以如何操作(如果不使用glew):
您应该包括
和
。有时OpenGl扩展函数不能直接使用,必须使用SDL\u GL\u GetProcAddress加载(如果扩展不可用,则返回函数指针或0)。您可能有兴趣看看加载扩展函数的libglew
以下是您可以如何操作(如果不使用glew):
我发现SDL\u opengl.h
文件相当无用。就个人而言,我建议使用GLEW或GLee。GLee更容易添加到您的项目中,但在OpenGL 3.0中停止(在SDL应用程序中通常很好,因为SDL只启用OpenGL 2.1上下文)。GLEW只需要再多做一点工作,但它可以通过OpenGL4实现
关于SDL中的VBO,我遇到了同样的问题。我发现SDL\u opengl.h
文件相当无用。就个人而言,我建议使用GLEW或GLee。GLee更容易添加到您的项目中,但在OpenGL 3.0中停止(在SDL应用程序中通常很好,因为SDL只启用OpenGL 2.1上下文)。GLEW只需要再多做一点工作,但它可以通过OpenGL4实现
关于SDL中的VBO,我遇到了同样的问题。只需稍加努力,就可以获得SDL的欠发达1.3版本
<> PF>和SFL类似,但对于2D类的硬件加速,面向对象C++,使用起来更容易。OpenGL使用起来特别简单。同样,支持OpenGL 3.2上下文的是development 2.0版本(尽管它即将发布)
您可能需要将非ARB版本与上述内容一起使用。只需稍加努力,就可以获得SDL的欠开发1.3版本
<> PF>和SFL类似,但对于2D类的硬件加速,面向对象C++,使用起来更容易。OpenGL使用起来特别简单。同样,支持OpenGL 3.2上下文的是development 2.0版本(尽管它即将发布)
您可能需要将非ARB版本与上述内容一起使用。我的基本意思是SDL是否提供了包含必要OpenGL标题的方法。我的基本意思是SDL是否提供了包含必要OpenGL标题的方法。简单地包括
和
会给我一个重新定义的警告,以及上述内容错误。所以我认为您应该加载自己想要的函数,或者使用libglew。(将编辑响应)简单地包括
和
会给我一个重新定义的警告,加上前面提到的错误。所以我认为你应该自己加载你想要的函数,或者使用libglew。(将编辑响应)