从0开始制作游戏物理引擎(二)
这一章描述了各种几何体表示法,以及BV构建。
这一章描述了各种几何体表示法,以及BV构建。
这一章描述了各种几何体的相交,距离,扫略计算
这一章描述了物理引擎的结构,并对整个系列文章的路线进行介绍
在使用C++ atomic原子变量的时候,需要指定内存序(memory order),比如memory_order_relaxed,memory_order_acquire等。我一直没搞明白这些内存序是在做什么。这几天深入理解了一下于是写下这份文章。
本文基于PhysX5.5.0源码分析(不过PhysX在这方面从4.0开始几乎没有什么改动)。讲述了PhysX CharacterController的设计实现,以及其中存在的问题。
注:PhysX的CCT实现非常简陋(如果不是工作原因不建议看源码,有这时间不如去看看UE或者Jolt这种物理引擎的实现),而且存在很多问题。我是因为工作原因才要学习,没办法。
本文述说了动态反射库Ponder中的组织结构。
本文述说了基于约束的物理求解器,这是很多游戏物理引擎的核心。
本文述说了基于匹配的模板以及常见模板小工具type_list。
本章的type_list实现代码在mirrow的type_list.hpp中。可自行参考。
本文分析了开源项目EnTT v3.12.2的原理和实现。述说了ECS中的核心数据结构storage。
storage是在sparse_set上进行封装的类,主要用于将组件(component)和实体(entity)关联起来。
本文分析了开源游戏框架Raylib v4.5.0中的batch rendering实现。