计算机图形学课程作业,用 OpenGL 渲染 Stanford Bunny 模型。
使用的第三方库有 Dear ImGui,GLFW,GLEW。
模型数据来自 Objects in OBJ format。
执行
$ make
编译成功后执行
$ ./bunny-ui
以运行。
- 窗口左侧为 UI 界面,可设置各种属性,窗口右侧为渲染区域,显示渲染结果;窗口可缩放;
- 在渲染区域用鼠标左键左右拖动模型旋转,鼠标右键上下拖动改变俯仰视角;
- 有两个光源,在左侧控制窗口处可设置其光照属性和位置;
- 左侧控制窗口还可设置全局环境光、模型材质、线框显示、显示光源位置等;
- 可开启拾取功能,拾取模型顶点或面片。
- 用三角面片绘制球,先生成数据再用 glDrawElements 绘制
- 反走样:GLFW 下成功
- 跨平台支持
- Apple
- Linux
- MSYS2
- 自定义 shader
- 面向对象重构
- 提供编译时配置选择使用 SDL2 或 GLFW
- 升级 OpenGL 版本:可在运行时选择
- 使用 glm 代替 GLU 的矩阵变换函数
- 使用顶点属性向着色器传递数据
- 使用 select mode 外的方式实现拾取
- OpenGL 3.2 core profile
- OpenGL ES 2.0