最近有人跟我反映说希望出一下opengl的有关内容。emmmmm,刚好我也接触了一段时间,那就来讲讲吧,不过我这里主要讲mac上的环境配置,win上的教程已经很多了。那么开始吧
这里我用到的是homebrew来配置opengl,我的电脑莫名其妙已经装好了。具体在mac上安装homebrew的方法可以自行搜索。
安装好后就可以用homebrew下载glew和glfw了,命令如下
brew install glew
brew install glfw
安装好后,开始在xcode中进行配置,首先新疆macos Command Line Tool,如下图
语言设置为c++
然后配置Header Search Path和下面的Library Search Path
这时我们双击打开Header Search Path的添加界面,同时打开finder,按Command+Shift+G组合键,并输入/usr/local/Cellar/,点击前往按钮,如下
打开glew/2.1.0/ 如下,拖动include文件夹到Header Search Path添加界面,对glfw也拖动其下的include文件夹到Header Search Path中
最后配置如下
对于Library Search Path则添加如下
这里不建议手动输入,避免出现错误地址,然后会编译失败
接着到Build Phases下添加Link Binary With Libraries
先通过搜索关键字的方法添加OpenGL.framework
再到刚刚打开的Glew/2.1.0/lib下把libGLEW.2.1.0.dylib和GLFW/2.3.1/lib下把libglfw.3.2.dylib拖动添加,最后结果如下(要添加我图中选中的那些文件)
接着就可以开始码代码了,随便写一些测试代码,如下
#include <iostream>
#include <GL/glew.h>
#include <GLFW/glfw3.h>
void Render(void)
{
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
{
glColor3f(1.0,0.0,0.0);
glVertex2f(0, .5);
glColor3f(0.0,1.0,0.0);
glVertex2f(-.5,-.5);
glColor3f(0.0, 0.0, 1.0);
glVertex2f(.5, -.5);
}
glEnd();
}
int main(int argc, const char * argv[]) {
GLFWwindow* win;
if(!glfwInit()){
return -1;
}
win = glfwCreateWindow(800, 600, "OpenGL Base Project", NULL, NULL);
if(!win)
{
glfwTerminate();
exit(EXIT_FAILURE);
}
if(!glewInit())
{
return -1;
}
glfwMakeContextCurrent(win);
while(!glfwWindowShouldClose(win)){
Render();
glfwSwapBuffers(win);
glfwPollEvents();
}
glfwTerminate();
exit(EXIT_SUCCESS);
return 0;
}
运行结果如下
好了就到这里了,DRW