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;
    
}

在这里插入图片描述


Daniel_Coder
7 声望1 粉丝