Learn OpenGl (一) mac 下的环境搭建
opengl中文地址https://learnopengl-cn.github.io/
opengl 3.2之前采用的是立即渲染模式(也叫固定渲染模式)
在3.2之后采用核心模式
不说原理了 我也不懂 等后面熟悉了在总结一下吧
首先准备一些必须或者可选的库glfw
,glew
,soil
,准备好这三个库,就能跟着官网敲到纹理那一章了
然后Xcode肯定必备的,偷懒的在准备cmake的应用,安装文件就是dmg,双击即可
可以参考https://zhuanlan.zhihu.com/p/24529016 这个链接,写的比较详细 ,当中注意一点的就是 在编译glfw
的时候 要勾选BUILD_SHARED_LIBS
其次就是在Xcode配置路径的时候,路径选择的必须正确 Header Search Paths
是 /usr/local/include
Library Search paths
是 /usr/local/lib
上面介绍了 glfw
和 glew
的安装方式 ,下面介绍比较繁琐的soil
安装
-
下载soil压缩包不是官网上的,官网上是已经经过cmake编译过后的,我们需要dylib(类似Android上so文件),所以需要自己重新cmake,(我是这样弄的,如果有人知道怎么make dylib,也麻烦告知) 链接https://github.com/DeVaukz/SOIL
-
下载下来后按照编译glfw的方式编译,因为现在的mac 普遍都是64位机器了,编译前 我们先修改一下CMakeList.txt 将
SET(CMAKE_OSX_ARCHITECTURES x86_64;i386)
和SET(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS "i386 x86_64")
隐藏或者删除 然后在进行 同理也要将dylib配置到Xcode中
Hello Triangle
需要知道的是opengl 只有点,线,三角形
因为mac 默认支持的可能只是opengl2.1的版本 所以需要按照官网上的教程指定opengl版本 这里直接指定4.1吧 也就是Major 指定4 ,Minor 指定1,着色器语言指定410 ,对应的苹果电脑和支持的版本可以查阅 https://support.apple.com/zh-cn/HT202823
最重要的一点是 在macos 10.14 之后的版本 果子已经不支持opengl 转向metal了 所以我们需要在做初始化的时候 加一句 glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT,GL_TRUE);
最后按照网站上一步一步敲 应该就能出险可爱的三角形了