39.opengl-游戏实战
时间:2022-07-28
本文章向大家介绍39.opengl-游戏实战,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
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)粒子速度衰减算法
- mac屏幕需要适配
GLboolean ShouldSpawn(GLuint chance)
{
GLuint random = rand() % chance;
return random == 0;
}
...
// 随机数 + 取模,生成一个概率1/75的算法
ShouldSpawn(75)
2.2 碰撞的检测和计算
很遗憾的一点是,irrklang在mac上不兼容,游戏的声音不能成功加载
- React Native组件(四)TextInput组件解析
- struts2实现ajax校验的2种方法
- 单例对象
- Android+struts2+json方式模拟手机登录功能
- iOS 获取通讯录里边的电话号码AddressBook
- InvocationTargetException异常解析
- Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)【Dalston版】
- java基础多线程之共享数据
- Spring Boot自动化配置的利弊及解决之道
- Java四种引用解析以及在Android的应用
- java基础之泛型
- java基础之反射
- 第四章 正则表达式回溯法原理
- Spring Boot属性配置文件详解
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法