OpenGL之macOS上的环境搭建

一、基本简介

  • OpenGL 是什么?
    OpenGL(全写 Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库。
  • OpenGL 能做什么?
    OpenGL 能用来开发跨平台的渲染引擎,在 Android、macOS、iOS、Windows、PS 等平台均可使用 OpenGL(ES)。
  • OpenGL 不能做什么?
    OpenGL 不能做物理模拟,OpenGL 不能做网络通信,一句话,除了渲染以外的事情,OpenGL 都做不了,OpenGL 只是一个 3D 渲染 API 接口标准。
  • OpenGL VS DirectX
    • OpenGL 只能做渲染,DirectX 除了渲染以外还能做许多其它的,比如,DirectX 里面包含 d3dxmath 可以用来做3D数学运算;DirectX 里面包含的外部设备接口模块可以用来接受外部设备的输入。
    • OpenGL 只是一个定义了一些接口的标准,只要实现了这些接口,那么就算是实现了 OpenGL,相反的,DirectX 则只有微软自己实现的那一份代码,所有人都使用微软给出的那份代码。
    • OpenGL 能跨平台,几乎所有的平台都支持 OpenGL,从移动设备到 PC 产品再到主机平台,都支持 OpenGL,而 DirectX 则只有微软自己的 XBox 和 Windows 支持。
    • 速度方面,DirectX 完爆 OpenGL,对同一硬件而言,DirectX 是 OpenGL 渲染速度的两倍多。

二、准备资源和文件

  • CLTools(包含了大部分 CLTools 类中的 C 语言独立函数)
  • glew(跨平台的 C++ 扩展库,基于 OpenGL 图形接口,只要包含一个 glew.h 头文件,就能使用 gl,glu,glext,wgl,glx 的全部函数,支持目前流行的各种操作系统(including Windows, Linux, Mac OS X, FreeBSD, Irix, and Solaris)
  • libGLTools.a
  • 资料传送门:CLTools、glew、libGLTools.a资源下载

三、环境搭建

  • 新建一个工程:打开 Xcode,创建一个工程,然后选择 macOS -> App,进入下一步;

我的Xcode是11.5,之前的版本选择macOS -> CocoaApp

  • 删除如图中选中的不需要的类和文件;

在这里插入图片描述

  • 新建 main.cpp,选择 macOS -> C++ File,然后进入下一步;

在这里插入图片描述

  • 去掉图中箭头所指的创建头文件勾选,并命名为 main,然后点击下一步创建;

在这里插入图片描述

  • 在 main.cpp 里面添加上主函数;
int main(int argc, char *argv[]) {
    
}
  • 添加依赖库:OpenGL.framework 和 GLUT.framework 两个系统库;

在这里插入图片描述

  • 配置路径:将下载好的 include 文件夹(GL)直接拖入项目工程中,将 libGLTools.a 静态库直接拖入到项目的 Frameworks 中;

在这里插入图片描述

  • 在 Build Settings 中搜索 “Header search” ,在 Header Search Paths 添加上 include 的路径;

在这里插入图片描述

  • 通过以上步骤,即可在 macOS 上将 OpenGL 的基本环境搭建完成。

四、环境测试

  • 一个简单三角形的绘制和显示的代码段,可以检查环境的搭建是否成功,只需要将代码复制到 main.cpp 即可。
	#include "GLShaderManager.h"
	#include "GLTools.h"
	#include <glut/glut.h>
	
	GLBatch triangleBatch;
	
	GLShaderManager shaderManager;
	
	// 窗口大小改变时接受新的宽度和高度,其中0,0代表窗口中视口的左下角坐标,w,h代表像素
	void ChangeSize(int w,int h) {
	    
	    glViewport(0, 0, w, h);
	}
	
	// 为程序作一次性的设置
	void SetupRC() {
	    // 设置背影颜色
	    glClearColor(0.0f,0.0f,1.0f,1.0f);
	    
	    //初始化着色管理器
	    shaderManager.InitializeStockShaders();
	    
	    // 设置三角形,其中数组vVert包含所有3个顶点的x,y,笛卡尔坐标对。
	    GLfloat vVerts[] = {
	        -0.5f,0.0f,0.0f,
	        
	        0.5f,0.0f,0.0f,
	
	        0.0f,0.5f,0.0f,
	    };
	    // 批次处理
	    triangleBatch.Begin(GL_TRIANGLES,3);
	    
	    triangleBatch.CopyVertexData3f(vVerts);
	    
	    triangleBatch.End();
	}
	
	// 开始渲染
	void RenderScene(void) {
	    // 清除一个或一组特定的缓冲区
	    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
	    
	    // 设置一组浮点数来表示紫色
	    GLfloat vRed[] = {1.0f,0.0f,0.0f,1.0f};
	    
	    // 传递到存储着色器,即GLT_SHADER_IDENTITY着色器,这个着色器只是使用指定颜色以默认笛卡尔坐标第在屏幕上渲染几何图形
	    shaderManager.UseStockShader(GLT_SHADER_IDENTITY,vRed);
	    
	    // 提交着色器
	    triangleBatch.Draw();
	    
	    // 将在后台缓冲区进行渲染,然后在结束时交换到前台
	    glutSwapBuffers();
	}
	
	int main(int argc,char* argv[]) {
	    // 设置当前工作目录,针对MAC OS X
	    gltSetWorkingDirectory(argv[0]);
	    
	    // 初始化GLUT库
	    glutInit(&argc, argv);
	    
	    /*初始化双缓冲窗口,其中标志GLUT_DOUBLE、GLUT_RGBA、GLUT_DEPTH、GLUT_STENCIL分别指
	     双缓冲窗口、RGBA颜色模式、深度测试、模板缓冲区*/
	    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA|GLUT_DEPTH|GLUT_STENCIL);
	    
	    //GLUT窗口大小,标题窗口
	    glutInitWindowSize(200,200);
	    
	    glutCreateWindow("Triangle");
	    
	    // 注册回调函数
	    glutReshapeFunc(ChangeSize);
	    
	    glutDisplayFunc(RenderScene);
	    
	    // 驱动程序的初始化中没有出现任何问题。
	    GLenum err = glewInit();
	    
	    if(GLEW_OK != err) {
	        fprintf(stderr,"glew error:%s\n",glewGetErrorString(err));
	        return 1;
	    }
	    
	    // 调用SetupRC
	    SetupRC();
	    glutMainLoop();
	    return 0;
	}

五、完整示例

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
为了在 macOS 上搭建 PHP 开发环境,你可以按照以下步骤进行操作: 1. 安装 Homebrew:Homebrew 是 macOS 上一个常用的包管理器。打开终端并输入以下命令安装 Homebrew: ``` /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` 2. 安装 PHP:使用 Homebrew 安装 PHP。在终端中输入以下命令: ``` brew install php ``` 3. 配置 PHP:默认情况下,Homebrew 会将 PHP 安装在 `/usr/local/etc/php` 目录下。你可以根据需要进行配置更改。 4. 安装一个 Web 服务器:你可以选择安装 Apache 或 Nginx 作为 Web 服务器。下面是安装 Apache 的步骤: - 安装 Apache: ``` brew install httpd ``` - 配置 Apache:编辑 `/usr/local/etc/httpd/httpd.conf` 文件进行必要的配置更改,如修改网站根目录等。 - 启动 Apache: ``` sudo apachectl start ``` - 在浏览器中输入 `http://localhost`,如果看到 "It works!" 的页面,则说明 Apache 已经成功安装并运行。 5. 安装数据库:如果你需要使用数据库,可以选择安装 MySQL 或 PostgreSQL。使用以下命令安装 MySQL: ``` brew install mysql ``` - 启动 MySQL: ``` brew services start mysql ``` - 设置 MySQL 根密码: ``` mysql_secure_installation ``` 6. 安装开发工具:你可以选择安装一个集成开发环境(IDE)或文本编辑器,如 Visual Studio Code、PhpStorm、Sublime Text 等。 这样,你的 macOS PHP 开发环境就搭建完成了。你可以在配置文件中进行进一步的定制和调整,以适应你的开发需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

╰つ栺尖篴夢ゞ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值