系统信息:
MacBookPro (M1)
macOs 12.0.1
OpenGL 4.1
因为内存不够换了台计算机,选择了使用OpenGL做毕业设计。所以这篇笔记是在Mac上使用OpenGL从零开始的编程。
IDE的安装与下载
- 在Apple的官方网站https://developer.apple.com/xcode/中下载Xcode,对其进行安装。
准备OpenGL编程所需要的相关库
下面这部分内容参考《计算机图形学编程(使用OpenGL和C++)》<
首先安装macos下的软件管理工具——homebrew。
-在其官方界面https://brew.sh中可以看到关于它的简介和相关用法。
-打开终端,输入/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"命令,会提示安装成功的界面。用homebrew安装GLEW和GLFW。
下载GLAD,将其中的头文件代码移动到/usr/local/include中去
安装数学库GLM,它是一个仅包含头文件的库。下载完成之后解压缩,将内容复制到/usr/local/include中即可
安装SOIL2
- 下载SOIL2 和premake
- 解压缩后将premake执行文件复制到SOIL2中
- 在终端窗口中切换目录到SOIL2中,并输入 ../premake4 gmake命令
- 键入make命令
- 将获得的libsoil2-debug.a这个debug文件放在usr/local/lib中,之后链接library的时候会用到。
建立工程链接库
在build-phase中链接openglframework、CoreFundationframework、glew和glfw的dylib。
对于search path分别填写glew和glfw的header与lib。header需要include上面的/usr/local/include。lib需要include上面所说的/usr/local/lib。
勾选use custom working directory的复选框。并将项目源码所在的文件夹复制进去。(这样就可以之后在这个文件夹里面include一些其他的cpp和头文件)
编写代码
- include 需要用到的库
#include <iostream>
#include <GL/glew.h>
#include <GLFW/glfw3.h>
using namespace std;
注意glew需要在glfw之前引入
在learnopengl中看到GLAD这个库是用来管理指针的🤔,暂且先不使用。之后assimp的导入我是两眼摸瞎555。
写一个ObjParser的类,传入顶点和面片数据