我想使用 CGL 或 NSOpenGL 创建一个 OpenGL 窗口而不使用 XCode(使用命令行 gcc 编译)。我正在开发跨平台的东西,如果可以的话,我想将代码差异降到最低!我的代码库目前完全是 C++。这是可能吗?我是 OSX 的新手,还没有接触过 Objective-C 。我查看了开发人员文档并获取了一些示例文件。他们都在使用 xcode。我成功地编译了源代码并链接到正确的框架,但整个应用程序包、xib 和 info.plist 似乎有点过头了。
最佳答案
这是一个简单的系统:
// g++ glInfo.cpp -o glInfo.x -framework OpenGL
#include <OpenGL/OpenGL.h>
#include <OpenGL/gl3.h>
#include <stdio.h>
int main(int argc, char **argv)
{
CGLContextObj ctx;
CGLPixelFormatObj pix;
GLint npix;
CGLPixelFormatAttribute attribs[] = {
(CGLPixelFormatAttribute) 0
};
CGLChoosePixelFormat( attribs, &pix, &npix );
CGLCreateContext( pix, NULL, &ctx );
CGLSetCurrentContext( ctx );
printf("Vendor: %s\n", glGetString(GL_VENDOR) );
printf("Renderer: %s\n", glGetString(GL_RENDERER) );
printf("Version: %s\n", glGetString(GL_VERSION) );
printf("GLSL: %s\n", glGetString(GL_SHADING_LANGUAGE_VERSION));
return 0;
}
关于在没有 XCode 的情况下使用 CGL/NSOpenGL 在 OSX 上使用 OpenGL 的 C++ 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9732778/