![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
GEA笔记
文章平均质量分 76
凤栖梧桐兮c
Fear is the mind-killer.
展开
-
GEA 4.5比较各种旋转表达方式
欧拉角优点:直观,容易视觉化,围绕单轴得旋转容易插值缺点:绕任意方向得旋转轴不能轻易插值,并且会遇到万向节死锁的问题万向节死锁:想象2042里面的飞机,三个欧拉角一个旋转了90度之后其他两个轴就会完全对齐而导致失去一个自由度旋转的先后顺序会影响旋转结果3X3矩阵优点:独一无二的表示旋转缺点:不容易插值并且不够直观轴角优点:直观且占用内存空间少缺点:不能简单地插值而且不能直接作用于点或者矢量还得转成矢量或者四元数四元数优点:可以随便插值 并且存储空间少优于矩阵 可以直接把旋转作用于点和原创 2022-01-31 18:13:50 · 842 阅读 · 0 评论 -
GEA 4.1234 矩阵 矢量 点 四元数
第四章讲解一些数学知识,很多非常简单和基础,只挑难点做一些笔记。四元数没有接触过会全部笔记。点和矢量坐标系选择根据实际问题选择合适的坐标系常见坐标系有笛卡尔坐标圆柱坐标(例子是制作一个旋转的物体绕着角色转动)球坐标赝矢量pseuvector百度百科:轴矢量是指在镜面对称变换下法分量不变而切分量改变的矢量(宇称为正的矢量),它是相对于极矢量而言的概念。矢量作为有方向的量,在坐标转动时,分量随坐标作相应变化。极矢量在宇称变换(空间完全反演)下,大小不变,方向变得相反。轴矢量在宇称变换下方向原创 2022-01-28 18:53:27 · 412 阅读 · 0 评论 -
GEA 3.4 流水线、缓存及优化
软实时系统:即不会因为帧率而死亡,优化通常是指提升帧率3.4.1 并行范式转移之前CPU慢而降低CPU处理强度而提高内存处理强度现在由于CPU具有并行能力普遍做法要使得CPU做更多的工作而避免访问内存!3.4.2 内存缓存处理器内含有内存缓存相较于主内存材料更贵并且更靠近核心速度更快 但也受限于大小和材料容量小很多内存缓存中通常保存最常使用的数据块 若CPU请求的数据已经存在于内存中称为缓存命中否则称为命中失败 命中失败会带来更高的消耗3.4.2.1 缓存线为了降低命中失败所带来的后果通常读原创 2022-01-24 22:15:04 · 664 阅读 · 0 评论 -
GEA 3.3 捕捉及处理错误
程序员需要理解错误捕获以及处理错误情况3.3.1 错误类型两种基本错误情况:用户错误:用户做了不正确的事情引发的错误程序员错误:代码本身的BUG所引起的错误,若程序员不犯错问题可以避免3.3.2 错误处理在理想情况下所有的程序员错误都应该在产品发布前被修复,处理程序员错误的方法是中止并通知,处理用户错误的方法是通知并且继续。但是在实际情况中往往根据实际情况灵活决定处理方式以提高效率。3.3.3 实现错误检测及处理3.3.3.1 错误返回码设计枚举类型函数,向上层返回一定值来表示错误类型原创 2022-01-24 09:54:23 · 271 阅读 · 0 评论 -
GEA 3.2 C/C++ 的数据、代码及内存
3.2.1 数值表达形式3.2.1.1 数值底数人自然用十进制,计算机自然用二进制。二进制开头用0b表示。另一种常见计法是十六进制,前缀是0x,流行的原因是因为计算机分组存储数据每8位一组又称为字节。一个16进制数是4位,所以两个十六进制数可以代表一个字节。...原创 2022-01-23 16:28:22 · 691 阅读 · 0 评论 -
GEA 3.1 重温C++以及实践
3.1.1 扼要重温面向对象编程3.1.1.1 类和对象可以将类看作规格,而其中类的个别实例被称为对象3.1.1.2 封装封装是指对象只向外提供有限的接口,隐藏内部实现细节,使得总体逻辑保持一致3.1.1.3 继承可以延申现有类并定义新的类。产生树状结构。多重继承 多重继承会带来很多混淆问题,其把简单的树结构变成了复杂的图结构例如:菱形继承问题- 派生类包含两个相同祖父类使得转换变得复杂注 大多数开发者都会完全避免多重继承或者有限制的使用多重继承3.1.1.4 多态简单的来说多态就是原创 2022-01-22 18:30:20 · 465 阅读 · 0 评论 -
GEA 1.7 工具及资产管道
游戏引擎需要大量数据,数据形式包括游戏资产、配置文件、脚本等1.7.1 数字内容创作工具游戏本质是多媒体应用,其中源数据由美术人员通过DCC软件制作MAYA,3DS建模。PS修图修纹理。Sound Forge音频软件。很多开发者使用引擎自带的或者用现成的工具并且还会为其定制辅助软件以便导入引擎。1.7.2 资产调节管道DCC软件所使用的数据格式并不会直接用于游戏中DCC软件中存储的数据类型通常复杂的多而实际上只需要其中部分信息引擎便可渲染模型在游戏中读取DCC的速度慢,并且有些格式甚至是原创 2022-01-21 23:10:22 · 2946 阅读 · 0 评论 -
GEA 1.6 运行时引擎架构
游戏引擎以软件层构成通常情况下上层依赖下层当下层依赖上层时会出现循环依赖的现象导致系统之间复杂的耦合导致异常1.6.1 目标硬件PC或者游戏主机1.6.2 设备驱动程序管理硬件资源使上层软件不需要理解不同硬件的通信细节差异1.6.3 操作系统操作系统协调一台计算机上多个程序的运行1.6.4 第三方软件开发包和中间件英文简称SDK和middleware为应用程序提供接口1.6.4.1 数据结构及算法一些第三方数据结构和算法库STL:C++标准模板库STLport可移植的,优原创 2022-01-21 21:18:42 · 2364 阅读 · 0 评论