Mac 下 OpenGL 开发环境搭配


Coder Life

本文介绍一下在 Mac 下用 Sublime Text 作为开发工具的环境搭配。

如果没有安装 Homebrew, 先安装 Homebrew

OpenGL 和 GLUT 是 macOS 自带了的。但通常并不足以满足我们的需求。可以先安装一些常用的库。

然后安装 Sublime Text, 直接从官网下载: https://www.sublimetext.com/3

然后添加一个新的 Build System, 拷贝以下内容进去。保存为 opengl.sublime-build

然后直接按 Command+B 就可以构建了。

这是项目中只包含一个 .cpp 源文件时快速方便的构建方法。适合用来学习和测试一些简单的程序,如果是包含多个 .cpp 文件的项目,可以用 make, autoconf, cmake, bakefile, bjam, scons 等各种构建系统。在 OpenGL 系列的后期会再写一篇博文来阐述。

OpenGL(一)六色旋转立方体


Coder Life

用 Mac 自带的 OpenGL 和 GLUT 框架

Contents

  1.  搭建好基本的 OpenGL 程序框架
    1. 设置好头文件目录、链接库文件(OpenGL, glut 等)
    2. 初始化,创建窗口
    3. 编写最基本的 Vertex Shader 和 Fragment Shader
    4. 编写读取文件的函数
    5. 编译、链接 Shader
  2. 绘制立方体
    1. 直接通过 glutSolidCube 绘制实心立方体
  3. 实现旋转
    1. glRotatef
    2. glutPostRedisplay 或 glutIdelFunc 来反复渲染
  4. 六个面的颜色
    1. 在 Vertex Shader 中获取法向量
    2. 传递到 Fragment Shader
    3. 通过法向量确定面
    4. 根据不同的面绘制不同的颜色

从以上文件中,你能学到:

  • glut 基本框架
  • C/C++ 读入文件内容
  • 创建 GLSL program
  • 重复调用 display 实现动画 (你也许还会在其它地方看到没有 glutPostRedisplay() 而在 glutDisplayFunc(display) 下有另一行 glutIdleFunc(display) )

这是老版本的 GLSL 语句,varing 传递变量,ftransform() 自动坐标转换。最基本的 vertex shader。下一节将更深入介绍。

这是老版本的 GLSL 语句,varing 接收传递过来的变量(法向量),通过法向量来判断平面,然后指定颜色。

预览

cube