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.
翻译:我们提出了“元素”项目,这是一个计算科学和计算机图形框架,它首次提供了实体-Compent-System(ECS)的优势,以及一个基于Scenegraph-pytonic框架的快速原型便利。这个新颖的工程使得“元素”的教学有了进步:从多式方向的“环形图”和深度第一曲,到动画、皮革、几何代数和以阴影为基础的组件,通过独特的系统提供,直到它们作为3D科学可视化的图形神经网络。该项目利用一个Scenegraphy 基础系统中独特的“ECS”的优势,旨在连接CG课程和现代游戏引擎,这些课程和引擎基于同一方法,但往往在黑箱方法中呈现这些概念。它旨在积极利用软件设计模式,在可扩展的公开源方法下,从动画、皮革笔记本和单位测试中提供现代、简单程序式的“脉理学”方法,但其CG管道不是黑箱,用于首次具有挑战性、具有挑战性的视觉和神经概念的计算机概念的教学。