当前位置: 首页 > 面试题库 >

在Ubuntu中学习OpenGL [关闭]

连翰
2023-03-14
问题内容

我正在尝试通过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功能,如果没有,那么它应该告诉您问题。



 类似资料:
  • 因此,我安装了freeglut3和build-essential(就像我在互联网上看到的那样)。但一切都没有改变。 我怎样才能找到opengl来写我自己的链接到CMAKE?我还能做什么来安装VTK?

  • 我正在Ubuntu上编写一个简单的OpenGL程序,它使用顶点数组绘制两个正方形(一个在另一个前面)。由于某种原因,GL_DEPTH_TEST似乎不起作用。后面的对象显示在前面的对象的前面。深度缓冲区由启用 GL_DEPTH_TEST由 并且深度缓冲区在绘制之前被清除 完整的代码如下所示: 顶点着色器如下所示:#version 130 片段着色器如下所示:#version 130 为什么前面的物体

  • 本文向大家介绍关于机器学习中的强化学习,什么是Q学习?,包括了关于机器学习中的强化学习,什么是Q学习?的使用技巧和注意事项,需要的朋友参考一下 Q学习是一种强化学习算法,其中包含一个“代理”,它采取达到最佳解决方案所需的行动。 强化学习是“半监督”机器学习算法的一部分。将输入数据集提供给强化学习算法时,它会从此类数据集学习,否则会从其经验和环境中学习。 当“强化代理人”执行某项操作时,将根据其是否

  • 问题内容: 在学习JavaScript框架库(例如jQuery,Prototype等)之前先学习JavaScript是个好主意吗? 有时我发现自己很挣扎,因为我觉得自己不太了解JavaScript。 问题答案: 强调 是的 。学习所需的时间不会像您担心的那么长,而获得的回报将是值得的。

  • 问题内容: 我正在尝试学习JavaCV。众所周知,缺乏关于这一主题的教材是一个很大的问题。在JavCV主页上,他们在“ OpenCV CookBook”书中提供了许多C 示例的示例。但是情况是,它们不是Java,而是在SCALA中!!!现在我已经疯了!我知道网络上有很多示例,但是我想从头开始学习它,那么只有我才能正确地做。“ OpenCV CookBook”是一本非常不错的书,但它全都涉及C 中的

  • 问题内容: 按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 到目前为止,我发现了一些在线资源,例如: http://www.torsten-horn.de/techdocs/java- hibernate.htm(GER