3D系统中可渲染实体容器(Renderable Entity Container)

在3D系统中(这里主要指实时渲染3D引擎系统), 可以管理 可渲染实体(renderable entity)的容器(Renderable Entity Container),是一个重要的功能。但是这也只是一个重要的功能,可是有些3D引擎的设计架构直接以容器的操作方式来管理可渲染实体的渲染树状结构。这样的设计看起来好操作,可是这样做导致渲染器和逻辑功能过度耦合,更不利于算力的发挥, 也不符合类分布式结构设计的理念。所以在我的引擎结构设计里,容器(Renderable Entity Container)和渲染管理以及渲染实体之间没有过多的逻辑结构关系,它只需具备四方面的作用:

        1.渲染对象实体管理: 通过容器的树状结构来管理 Renderable Entity/Container 集合。维护层次逻辑关系。

        2. Trasformation: 空间坐标变换。

        3.空间管理: 为引擎系统的空间管理机制提供支持。例如遮挡剔除/排序/物理计算等

        4.渲染管理: 容器和其他渲染管理系统一样,是整个渲染管理系统中重要的一环,能有效的管理渲染流程。

而容器(Renderable Entity Container)本一个非常轻量的管理机制,不会干扰到其他渲染管理以及算力分配。在逻辑功能上,对用户来讲也是低耦合的。可以用,也可以选择不用。

请见Demo: Vox APP

3D系统中可渲染实体容器(Renderable Entity Container)_第1张图片

3D系统中可渲染实体容器(Renderable Entity Container)_第2张图片

Demo里面的描边效果请见:带遮挡效果的轮廓线(描边)在3D实时渲染中的一种实现_vily_lei的专栏-CSDN博客

你可能感兴趣的:(渲染的魅力,3D引擎,渲染原理,3d,容器)