MOYIre / Breakout

基于LearnOpenGL教程的2D实战项目Breakout游戏,在原教程基础上进行了一些性能优化与功能新增,可跨平台编译运行

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Breakout

基于LearnOpenGL教程LearnOpenGL tutorial)的2D实战项目Breakout游戏

以下是部分游戏运行截图

新增 & 优化

在原教程项目代码的基础上做了以下新增与优化

  • 添加了更多的代码注释
  • 适配MacOS平台,修复原教程代码在retian屏幕上出现的场景仅显示四分之一,物体大小异常等渲染问题
  • 优化文本渲染方式,将所有字形纹理合并到大的贴图上,从而减少纹理的切换
  • 优化三角形渲染方式,使用 GL_TRIANGLE_STRIP节省约三分之一需要传递的数据量
  • 优化粒子绘制效率,使用实例化渲染,以下截图是在总粒子数100000,每个dt更新1000个粒子的情况下,优化前后帧率对比

  • 新增按P键,打开或关闭左下角游戏帧率(FPS)显示

  • 新增画中画工具类,支持在屏幕右上角绘制任意贴图

编译 & 运行

克隆项目代码,在项目根目录执行以下命令

  • 克隆子模块,依赖于glfwglm
$ git submodule update --init
  • 执行cmake
$ mkdir build
$ cd build
$ cmake ..
$ cmake --build .

已在以下平台编译通过

系统 版本
Windows Windows10 专业版 1903
MacOS Mojave 10.14.5
Linux CentOS release 7.7.1908

注意:在MacOS平台编译构建生成可执行文件后,需要通过终端执行./Breakout命令启动应用。如果直接双击启动,可能由于工作目录不是当前可执行文件所在目录,导致出现资源文件加载失败问题

更多

About

基于LearnOpenGL教程的2D实战项目Breakout游戏,在原教程基础上进行了一些性能优化与功能新增,可跨平台编译运行

License:GNU General Public License v3.0


Languages

Language:C 63.5%Language:HTML 22.8%Language:C++ 6.0%Language:Shell 3.3%Language:Makefile 1.5%Language:Python 1.1%Language:M4 0.5%Language:CMake 0.3%Language:DIGITAL Command Language 0.3%Language:Objective-C 0.3%Language:Perl 0.1%Language:CSS 0.0%Language:JavaScript 0.0%Language:Awk 0.0%Language:Roff 0.0%Language:GLSL 0.0%Language:sed 0.0%