首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >39.opengl-游戏实战

39.opengl-游戏实战

作者头像
公号sumsmile
发布2020-10-26 15:39:41
6050
发布2020-10-26 15:39:41
举报

projection的作用是设置一个投影大小,坐标的传输可以按照这个大小来设置,比较好理解,比如设置宽高 100 * 100的投影矩阵,100扔进去,会缩小到1,50扔进去缩小到0.5,顶点着色器最后输出的坐标就是[-1.0, 1.0, 1.0]

背景和ball精灵的矩阵计算还没彻底弄明白:opengl::math::glm的矩阵运算是左乘还是右乘?

learnopengl最后一章游戏实践完成了,终于持续两个月左右的opengl学习之旅结束了,也是一个新的开始。没有涉及新的知识,简单总结
一、项目架构梳理
虽然是个demo,但是有很好的代码结构,体现了良好的面向对象设计,功能的封装,既是一个opengl的练习demo,也是一个非常不错的c++练习项目
二、收获
2.1 粒子特效,这个项目中涉及到很多游戏里很巧妙的算法,很有趣

1)粒子速度衰减算法

  1. mac屏幕需要适配
GLboolean ShouldSpawn(GLuint chance)
{
    GLuint random = rand() % chance;
    return random == 0;
}
...
// 随机数 + 取模,生成一个概率1/75的算法
ShouldSpawn(75)
2.2 碰撞的检测和计算
很遗憾的一点是,irrklang在mac上不兼容,游戏的声音不能成功加载
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • learnopengl最后一章游戏实践完成了,终于持续两个月左右的opengl学习之旅结束了,也是一个新的开始。没有涉及新的知识,简单总结
  • 一、项目架构梳理
    • 虽然是个demo,但是有很好的代码结构,体现了良好的面向对象设计,功能的封装,既是一个opengl的练习demo,也是一个非常不错的c++练习项目
    • 二、收获
      • 2.1 粒子特效,这个项目中涉及到很多游戏里很巧妙的算法,很有趣
        • 2.2 碰撞的检测和计算
        • 很遗憾的一点是,irrklang在mac上不兼容,游戏的声音不能成功加载
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档