Skip to content

chirsz-ever/opengl-bunny-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0f9693b · Aug 7, 2021
Jul 19, 2021
Aug 7, 2021
Jul 30, 2021
Aug 6, 2021
Jan 2, 2020
Jan 2, 2020
Aug 7, 2021
Aug 7, 2021
Jan 2, 2020
Aug 7, 2021
Jun 3, 2021
Aug 6, 2021
Aug 6, 2021

Repository files navigation

Opengl Stanford Bunny Demo

计算机图形学课程作业,用 OpenGL 渲染 Stanford Bunny 模型。

使用的第三方库有 Dear ImGuiGLFWGLEW

模型数据来自 Objects in OBJ format

编译方法

执行

$ make

编译成功后执行

$ ./bunny-ui

以运行。

实现的功能

  • 窗口左侧为 UI 界面,可设置各种属性,窗口右侧为渲染区域,显示渲染结果;窗口可缩放;
  • 在渲染区域用鼠标左键左右拖动模型旋转,鼠标右键上下拖动改变俯仰视角;
  • 有两个光源,在左侧控制窗口处可设置其光照属性和位置;
  • 左侧控制窗口还可设置全局环境光、模型材质、线框显示、显示光源位置等;
  • 可开启拾取功能,拾取模型顶点或面片。

TODO

  • 用三角面片绘制球,先生成数据再用 glDrawElements 绘制
  • 反走样:GLFW 下成功
  • 跨平台支持
    • Apple
    • Linux
    • MSYS2
  • 自定义 shader
  • 面向对象重构
  • 提供编译时配置选择使用 SDL2 或 GLFW
  • 升级 OpenGL 版本:可在运行时选择
    • 使用 glm 代替 GLU 的矩阵变换函数
    • 使用顶点属性向着色器传递数据
    • 使用 select mode 外的方式实现拾取
    • OpenGL 3.2 core profile
    • OpenGL ES 2.0

About

Draw Stanford Bunny with light in OpenGL

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages