El游戏引擎-4. 场景管理

4. 场景管理

El场景管理参考OGRE,采用树状管理方式。整个场景可以描述为一棵节点树,每个节点上挂接了需要渲染的实体Entity,并且保存了大致的包围框(bounding box),用于可见性判断及碰撞检测。渲染时,采用至顶向下的方式逐一渲染整棵场景树。

在渲染场景时,类似于ORGEEl采用不同的渲染队列,这主要是为了解决物体Alpha问题。在渲染Alpha物体时,深度缓存算法不再适用,此时需要对所有Alpha物体进行排序后采用油画家算法绘制。所以,整个场景保存有数个渲染队列。天空盒队列需要首先被绘制,接着是地形,再接着是不透明的所有物体,最后是透明且按照视点排序后的透明物体队列,这样的渲染队列组才能保证透明物体被正确的渲染,这和OGRE里的做法是一致的。

关于Alpha混合物体的深度排序问题及解决方法,以下文章中给出了简明陈述。

http://www.cnblogs.com/cocoaleaves/archive/2009/04/19/1438978.html

场景管理涵盖的意义,远比上述内容丰富的多。游戏开发业发展至今积累的诸多场景管理算法也是枚不胜举,如八叉树、Portal、BSP等等。El在场景管理部分仅做出了初步实现,以后这该部分内容仍需被系统性地完善。

El游戏引擎-4. 场景管理_第1张图片

4.1 场景

你可能感兴趣的:(html,游戏,算法)