现在OS X可以使用OpenGL 4+了,我想开始学习更现代的OpenGL。我跟随的tutorial使用FreeGLUT作为窗口框架。虽然OS X拥有Apple自己的GLUT适应性,但它已经过时,并且不适用于现代OpenGL。要安装FreeGLUT,我首先安装了X11 2.7.4(以获得GL / glx.h)。然后我从FreeGLUT网站下载了FreeGLUT的tar球......版本2.8.1。然后我在终端做了以下事情:
./configure CFLAGS="-I/usr/X11/include/X11/extensions -L/usr/X11/lib" LIBS="-lXrandr -lXxf86vm -lXi" --with-x --x-includes=/usr/X11/include
据我所知,这很有用。我接着做了所有这些,并给了很多这些:
clang: warning: argument unused during compilation: '-L/usr/X11/lib'
smooth_opengl3.c:131:1: error: unknown type name 'PFNGLGENBUFFERSPROC'
PFNGLGENBUFFERSPROC gl_GenBuffers;
我收到了无数的这些错误;这些名字都附有PFNGL。
然后我发出一个致命的错误,说明发出的错误太多,并且make会被停止。
那些知道如何修复此问题的OS X或OpenGL用户?
答案 0 :(得分:6)
Lazyfoo在OSX上构建FreeGLUT(2.8.0)的指南也为我工作 - 只需一次修改:他们的指南的步骤#4(适用于FreeGLUT 2.8.0)建议添加一个宏保护到FreeGLUT源文件中的一段代码。然而,FreeGLUT 2.8.1中的源文件带有三个宏保护,分布在引用的代码段中。我没有添加Lazyfoo的宏保护,而是必须删除第二个和第三个宏保护程序(随2.8.1版一起提供)以获取编译代码。希望这可以帮助。
答案 1 :(得分:1)
只是澄清一下,所包含的GLUT版本确实支持现代OpenGL。像这样创建你的上下文:
var startsWith = 'Começo';
var endsWith = 'básico de um texto dissertativo são';
var text = 'Começo O texto dissertativo argumentativo tem como principais características a apresentação de um raciocínio, a defesa de um ponto de vista ou o questionamento de uma determinada realidade. O autor se vale de argumentos, de fatos, de dados, que servirão para ajudar a justificar as ideias que ele irá desenvolver. As três características básicas de um texto dissertativo são.'
var reg = new RegExp('(.*'+ startsWith +'\s+)(.*)(\s+'+ endsWith +'.*)');
var match = reg.exec(text);
获取OpenGL 4.1上下文。我也像这样排序我的包括:
glutInitDisplayMode(GLUT_3_2_CORE_PROFILE);
在使用不推荐使用的OpenGL函数时,可以访问较新的OpenGL函数并生成编译器错误。
要在命令行上构建,请执行以下操作:
#include <OpenGL/gl3.h>
#define __gl_h_
#include <GLUT/glut.h>
效果很好,无需安装任何其他库。
答案 2 :(得分:0)
对于迟到的答案感到抱歉,但如果这仍然不适合你,我建议您访问lazyfoo.net并转到OpenGL教程。第一个将指导您如何安装freeglut(尽管它可能是在Windows上为我工作的旧版本)。它有一个mac演练,我只是不能告诉你它有多好。值得一试。另外,如果你正在寻找教程,我已经完成了大部分教程并且非常好。
答案 3 :(得分:0)
这些是b.c的标题
这是make文件 cc b.c -o b -framework GLUT -framework opengl -Wno-deprecated
./ b查看gult的结果