在Ubuntu中学习OpenGL [关闭]

我正在尝试通过Nehe指南来学习OpenGL并提高我的C

++技能,但是所有示例均适用于Windows,而我目前使用的是Linux。我真的不知道如何使事情在Linux下工作,并且已经移植到Linux的网站上的代码中还有很多未解释的代码(到目前为止,我唯一要做的就是工作就是SDL示例:http

:

//nehe.gamedev.net/data/lessons/linuxsdl/lesson01.tar.gz)。还有没有其他资源比Linux下的OpenGL更具体?

回答:

首先要做的是安装OpenGL库。我建议:

freeglut3

freeglut3-dev

libglew1.5

libglew1.5开发版

libglu1-mesa

libglu1-mesa-dev

libgl1-mesa-glx

libgl1-mesa-dev

安装它们后,在编译时链接到它们:

g++ -lglut -lGL -lGLU -lGLEW example.cpp -o example

在example.cpp中,包括如下所示的OpenGL库:

#include <GL/glew.h>

#include <GL/glut.h>

#include <GL/gl.h>

#include <GL/glu.h>

#include <GL/glext.h>

然后,要启用更高级的opengl选项(如着色器),请将其放在glutCreateWindow调用之后:

GLenum err = glewInit();

if (GLEW_OK != err)

{

fprintf(stderr, "Error %s\n", glewGetErrorString(err));

exit(1);

}

fprintf(stdout, "Status: Using GLEW %s\n", glewGetString(GLEW_VERSION));

if (GLEW_ARB_vertex_program)

fprintf(stdout, "Status: ARB vertex programs available.\n");

if (glewGetExtension("GL_ARB_fragment_program"))

fprintf(stdout, "Status: ARB fragment programs available.\n");

if (glewIsSupported("GL_VERSION_1_4 GL_ARB_point_sprite"))

fprintf(stdout, "Status: ARB point sprites available.\n");

那应该启用所有OpenGL功能,如果没有,那么它应该告诉您问题。

以上是 在Ubuntu中学习OpenGL [关闭] 的全部内容, 来源链接: utcz.com/qa/426068.html

回到顶部