【模板元编程和反射】:Ponder中的组织结构
本文述说了动态反射库Ponder中的组织结构。
本文述说了动态反射库Ponder中的组织结构。
本文述说了基于约束的物理求解器,这是很多游戏物理引擎的核心。
本文简述了std::shared_ptr
可以通过在父类析构函数非虚的情况下,通过父类指针正确释放子类的特点,以及一个简单实现。
本文述说了基于匹配的模板以及常见模板小工具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实现。
模板参数有三种写法:
|
|
根据《C++ Templates 2》的说法,第一种写法会decay
(等同于调用std::decay
),即:
本文分析了开源项目EnTT v3.12.2的原理和实现。述说了ECS中的Entity部分。
EnTT中的Entity是正整数,或者更严谨一点,是enum class
:
本文分析了开源项目EnTT v3.12.2的原理和实现。述说了ECS中的核心数据结构sparse set。
sparse set是一个数据结构,用于极快速地对正整数进行增删改查并能够较好地利用CPU Cache。而EnTT中的Entity
部分正式用正整数实现的。
本文分析了开源项目EnTT v3.12.2的原理和实现。述说了ECS架构。
ECS是一个典型的组合优于继承的架构。