We present the Elements project, a computational science and computer graphics (CG) framework, that offers for the first time the advantages of an Entity-Component-System (ECS) along with the rapid prototyping convenience of a Scenegraph-based pythonic framework. This novelty allows advances in the teaching of CG: from heterogeneous directed acyclic graphs and depth-first traversals, to animation, skinning, geometric algebra and shader-based components rendered via unique systems all the way to their representation as graph neural networks for 3D scientific visualization. Taking advantage of the unique ECS in a a Scenegraph underlying system, this project aims to bridge CG curricula and modern game engines, that are based on the same approach but often present these notions in a black-box approach. It is designed to actively utilize software design patterns, under an extensible open-source approach. Although Elements provides a modern, simple to program pythonic approach with Jupyter notebooks and unit-tests, its CG pipeline is not black-box, exposing for teaching for the first time unique challenging scientific, visual and neural computing concepts.
翻译:我们推出Elements项目——一个计算科学与计算机图形学(CG)框架,该框架首次将实体-组件-系统(ECS)的优势与基于场景图的Python化框架的快速原型开发便利性相结合。这一创新推动了CG教学的发展:从异构有向无环图与深度优先遍历,到动画、蒙皮、几何代数以及通过独特系统渲染的着色器组件,直至将其表示为用于3D科学可视化的图神经网络。通过利用场景图底层系统中独特的ECS,本项目旨在弥合CG课程与现代游戏引擎之间的鸿沟——后者虽基于相同方法,却常以黑盒方式呈现这些概念。项目设计积极运用软件设计模式,采用可扩展的开源方法。尽管Elements提供了基于Jupyter笔记本与单元测试的现代简洁Python化编程方式,但其CG流水线并非黑盒,首次在教学过程中公开呈现了极具挑战性的科学、视觉与神经计算概念。