在 OS X 下怎么写新版本的 OpenGL?

2015-04-21 14:14:29 +08:00
 tioover

我要疯了……整整两天,我就想问问,苹果能不能用 OpenGL 3 或以上写代码?苹果说自己可以……但是……如果有的话请让我看看……

网上的教程几乎不能画出三角形,固定管线(glBegin())可以,但是过时了。

OpenGL Step by Step 这个教程,第一步让画点,点能画出来,但是到下一张简单的替换成三角形就画不出来了,函数调用什么的都一样,理论上来说点能画出来为什么三角形就画不出来……表现为一个黑黑的窗口什么都没有。

这个教程 Learn OpenGL 提供的代码 https://raw.githubusercontent.com/JoeyDeVries/LearnOpenGL/master/src/1.getting_started/2.hello_triangle/hellotriangle2.cpp 不能编译,因为没有 glGenVertexArrays 这一系列函数,Stackoverflow 上搜,说加一个 OpenGL/gl3.h 头就有了,加上的确编译过了。但 GLFW 窗口创建失败,窗口指针为空。

这个教程 OpenGL基础知识 上面说 OS X 只支持 OpenGL 2 ,然后提供了一些 OpenGL 2 的移植代码,但是苹果说新版本的已经能支持了OS X 10.9 Core Profile OpenGL Information。我希望还是用新版本的,心想可能教程过时了。

这个教程网页上的代码和下载下来的代码不一样,网页上的代码是用 glGenBuffers 等一系列函数操作缓冲区的。可以编译通过,GLSL也能编译链接,但是就不给我显示三角形啊!!!和第一个教程一样!!!!!

下载下来的代码是用 glGenVertexArrays,同样找不到这个函数,然后加上 gl3.h, 给出的例子也编译过了,依然是 GLFW 窗口创建失败,和第二个教程一样!!!!!!

搜索了一下,说这是正确的行为,不允许创建窗口……WTF http://stackoverflow.com/questions/22213874/creating-opengl-3-3-context-with-glfw-in-mac-os-x-10-9 什么鬼,说要声明为 core 什么的,设置了没有用啊……

然后又去 stackoverflow 找了一下,找到别人的解决方法 c++ - http://stackoverflow.com/questions/17602130/cant-draw-triangle-using-opengl 给了两段代码,OpenGL 3 版本的运行错误,GLSL 没办法编译,错误信息不支持这个版本,OpenGL 2 能够运行…

我要死了……要被搞死了

4047 次点击
所在节点    iDev
11 条回复
kiritoalex
2015-04-21 14:16:36 +08:00
头像好萌>3<
darkfall
2015-04-21 14:36:25 +08:00
头像好萌>3<
bombless
2015-04-21 14:43:53 +08:00
我晕,昨天晚上给你那个教程呢,你没试?
tioover
2015-04-21 14:49:49 +08:00
@bombless 你给我的教程在文章里面啊,也没用……
不过有人给我一个方法了,我试试
tioover
2015-04-21 14:50:10 +08:00
@bombless 我提到的第二个就是你给的……
bombless
2015-04-21 14:51:41 +08:00
@tioover 哈哈,的确是的,对不起啊
learnshare
2015-04-21 14:53:04 +08:00
tioover
2015-04-21 14:54:33 +08:00
@learnshare 谢谢,不过 QT 太大了……

有人给了我一个方法,我缓一缓心情再去试试……
learnshare
2015-04-21 14:56:03 +08:00
@tioover Qt 只是让你玩 OpenGL 的途径之一,或许折腾的少一点
bombless
2015-04-21 15:00:36 +08:00
不过你可以直接试试 Rust 项目嘛。
推荐这里面的例子:
https://github.com/alexandercampbell/simple
https://github.com/PistonDevelopers/piston-examples

我 Windows 下不用配置, cargo run 就直接跑起来了
tioover
2015-04-21 15:08:38 +08:00
@bombless 嗯……这些在 OS X 下多多少少有点问题……我也是打算用 Rust 写,不过还是要懂(

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/185221

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX