我要疯了……整整两天,我就想问问,苹果能不能用 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 能够运行…
我要死了……要被搞死了
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.