我要疯了……整整两天,我就想问问,苹果能不能用 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。我希望还是用新版本的,心想可能教程过时了。
这个教程网页上的代码和下载下来的代码不一样,网页上的代码是用 glGenBuffer
s 等一系列函数操作缓冲区的。可以编译通过,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 能够运行…
我要死了……要被搞死了
1
kiritoalex 2015-04-21 14:16:36 +08:00 via Android
头像好萌>3<
|
2
darkfall 2015-04-21 14:36:25 +08:00
头像好萌>3<
|
3
bombless 2015-04-21 14:43:53 +08:00
我晕,昨天晚上给你那个教程呢,你没试?
|
7
learnshare 2015-04-21 14:53:04 +08:00
|
8
tioover OP |
9
learnshare 2015-04-21 14:56:03 +08:00
@tioover Qt 只是让你玩 OpenGL 的途径之一,或许折腾的少一点
|
10
bombless 2015-04-21 15:00:36 +08:00
不过你可以直接试试 Rust 项目嘛。
推荐这里面的例子: https://github.com/alexandercampbell/simple https://github.com/PistonDevelopers/piston-examples 我 Windows 下不用配置, cargo run 就直接跑起来了 |