Mac OS系统下配置OpenGL环境
1. 准备资源
- CLTools
- glew
- libGLTools.a
文件可在百度网盘下载,链接:https://pan.baidu.com/s/13gkpLWjbKSBNFnA-IGo23A 密码:g3b5
2. 创建工程
3. 导入系统Framework
导入OpenGL.framework和GLUT.framework。
4. 添加准备好的资源
将include文件下拖入到项目中;
将libGLTools.a文件拖入到项目下的Framework组下;
在Header Search Paths中添加glew.h和GLTools.h路径。
5. 删除无用文件,创建main.cpp
删除AppDelegate.swift, ViewController.swift,如果有main.m文件,请同时删除。
新建main.cpp文件,创建时请勿勾选“Also create a header file”。
6. 编译
如果遇到编译错误,请将引入方式由系统库引入<>改为普通文件引入“”。
测试如下:
#include "GLShaderManager.h"
#include "GLTools.h"
#include <GLUT/GLUT.h>
GLShaderManager shaderManager;
GLBatch triangleBatch;
void changeSize(int w,int h)
{
glViewport(0, 0, w, h);
}
void RenderScene(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT);
GLfloat vRed[] = {1.0,1.00,0.0,0.5f};
shaderManager.UseStockShader(GLT_SHADER_IDENTITY,vRed);
triangleBatch.Draw();
glutSwapBuffers();
}
void setupRC()
{
glClearColor(0.3f, 1.0f, 1.0f, 1);
shaderManager.InitializeStockShaders();
GLfloat vVerts[] = {
0.0f,0.8f,0.0f,
0.5f,0.0f,0.0f,
-0.5f,0.0f,0.0f
};
triangleBatch.Begin(GL_TRIANGLES, 3);
triangleBatch.CopyVertexData3f(vVerts);
triangleBatch.End();
}
int main(int argc,char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA|GLUT_DEPTH|GLUT_STENCIL);
glutInitWindowSize(600, 400);
glutCreateWindow("Triangle");
glutReshapeFunc(changeSize);
glutDisplayFunc(RenderScene);
GLenum status = glewInit();
if (GLEW_OK != status) {
printf("GLEW Error:%s\n",glewGetErrorString(status));
return 1;
}
setupRC();
glutMainLoop();
return 0;
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。