1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2017年10月19日 |
---|
#31 在 #functional-reactive-programming
145KB
3.5K SLoC
设计、动画和编程几何形状
换句话说:这是一个具有同伦映射的类型安全、动态、功能性反应性库。
这个库使用了Sven Nilsen的研究想法,即使用同伦映射来构建几何形状。控制点标志和ragdoll引擎基于Cutout Pro的Elemento。
动机
这个库旨在用于设计、动画和编程几何形状。
函数反应性编程在动态时更有趣。这意味着用户可以在运行时修改行为。
使用同伦映射是构建几何形状的有前途的技术。同伦映射是从N维归一化坐标映射到某些M维空间的连续函数。更多信息请参见 https://github.com/pistondevelopers/construct。
动态框架的函数反应性编程问题在于,在编译时使其易于使用通常会付出代价。例如,当获取样条曲线的引用时,很容易错误地将其与另一种类型一起使用,例如表面。
通过根据函数类型分离内存,可以在Rust中使API类型安全。
功能(工作正在进行中)
- 功能图评估
- 具有时间和delta时间的环境(允许对动画和运动进行正式推理)
- 同伦映射高达4D
- 颜色(将sRGB转换为线性颜色空间以供内部使用)
- ragdoll物理
- 精细调整缓存控制
- 控制点选择和锁定
目标
- 创建一个适用于Turbine的现代版本Cutout Pro的Elemento核心
- 在其他游戏引擎中可重用
- 适用于VR编辑的设计
- AI行为树(尚未决定)
设计
所有数据都根据其函数类型存储在内存中。这意味着一个函数可以使用索引引用另一个函数,同时在编译时保持类型安全。
通过组合函数创建对象。
依赖关系
~92KB