C ++ - 将OpenGL与代码块一起使用?

时间:2014-04-11 09:02:00

标签: c++ opengl

使用代码块时遇到了困境。我终于有机会学习OpenGL,我想在OpenGL中使用它。我知道有Visual Studio,但我喜欢Code Blocks,因为它基本而且没有复杂性。

直到今天。我完全不知道如何让OpenGL工作。目前还没有寻找奖品编程。我想要实现的只是一个黑色的窗口。基础知识。我做了很好的谷歌搜索,我找不到关于安装/激活/利用OpenGL的文章。

所以我需要的是从无图形到黑色窗口的逐步程序。在那之后,我至少可以开始玩,开始学习。任何人都可以帮我一把吗?我真的很感激任何帮助。

1 个答案:

答案 0 :(得分:1)

最近,当我开始使用带有C :: B的OpenGL时,我也遇到了一些问题。

从此处下载并安装SDL:http://libsdl.org/。该库可以打开窗口,使用键盘和鼠标输入,使用TCP / UDP等

要使用opengl,你需要GLEW。它只有VS的预编译版本,所以你需要自己构建它。您可以在此处获取源代码:http://glew.sourceforge.net/ 然后,使用这些commans编译它:
1:gcc -DGLEW_NO_GLU -O2 -Wall -W -Iinclude -DGLEW_BUILD -o src/glew.o -c src/glew.c
2:gcc -shared -Wl,-soname,libglew32.dll -Wl,--out-implib,lib/libglew32.dll.a -o lib/glew32.dll src/glew.o -L/mingw/lib -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32
3:ar cr lib/libglew32.a src/glew.o
将.a文件复制到MinGW/lib,将标题复制到MinGW/include

对于任何使用SDL& GLEW& OpenGl,您需要设置链接器设置:
Project -> Build options... -> Click on project name in build configurations list -> Linker settings -> Add
您需要以完全相同的顺序添加这些库:
mingw32SDL2mainSDL2opengl32glew32glu32
(您可能需要GLU函数。如果没有,您可以省略最后一个库。)

标题包括:
#include <SDL2/SDL.h>
#include <glew.h>

由于SDL,您的main()必须始终为int main(int argc, char **argv)

打开窗口的最小呼叫:
SDL_Init(SDL_INIT_VIDEO | SDL_INIT_EVENTS);
SDL_CreateWindow(/*...*/);
SDL_GL_CreateContext(/*...*/);
glewInit();
您可以在此处找到SDL功能的说明:http://wiki.libsdl.org/CategoryAPI