何时在OS X上使用OpenGL vs GL

When to use OpenGL vs GL on OS X

本文关键字:OpenGL vs GL OS 何时      更新时间:2023-10-16

奋斗以获取一些尝试编译的东西后,我意识到更改所需的一些代码:

#ifdef __APPLE__
#include "OpenGL/gl.h"
#include "OpenGL/glx.h"
#else 
...

需要更改为:

#ifdef __APPLE__ 
#include "GL/gl.h"
#include "GL/glx.h"
#else
#...

安装石英后。但是,这也有效:

#ifdef __APPLE__ 
#include "OpenGL/gl.h"
#include "GL/glx.h"
#else
#...

但是OpenGL/glx.h不存在。

OS X上的不同标题位置是什么意思?为什么我有两个不同的位置用于OpenGL文件?

首先:您正在使用错误的include路径;我完全感到惊讶。您想要的是:

#include <OpenGL/gl.h>

请注意使用角括号而不是引号,并大写OpenGL

(您可能需要将OpenGL框架添加到项目中才能完成此工作。如果您不使用Xcode,请将-framework OpenGL添加到编译器标志中。(

第二:不要在Mac应用程序中使用glx.h。GLX是X11窗口系统的扩展名,可为GL提供支持 - 它主要用于在使用X11作为其桌面接口的UNIX/Linux系统上使用。MacOS桌面接口不基于X11,因此您不需要GLX。


路径的解释:

  • MACOS上的GL/路径是指X11 GL标头,如果您安装了Xquartz,则可能存在。他们是不是您想要的。

  • OpenGL/指的是OpenGL框架。