属于牢骚,呵呵
render pass要不要让上层管理,也就是渲染是不是要全自动化的问题。
  一般比较完整的引擎喜欢将每个pass隐藏起来,游戏只要丢给一些camera,light之类的必要信息,图形方面就什么也不管了,对游戏来说这样确实方便了许多,从模型制作到材质编辑场景编辑器之类,一直到渲染到游戏里,游戏都不需要去管图形方面的东西。这样在图形引擎里就需要根据事先给定的材质之类的信息决定渲染的每个pass,或多或少对性能会有些损失。有些优秀的游戏也把pass交给游戏上层管理,每个pass渲染什么样的东西做什么样的功能都由上层管理,好处是可以将物理场景与可视场景管理一起进行,减少了一些场景的遍历,不过增加了上层的复杂度,如果图形引擎的接口设计的不漂亮也可能会给人困惑。
  一般从引擎易用性来说还是倾向全自动化,当然有一些东西在这方面处理会比较麻烦,比如特效渲染,可能破坏掉本来写的很漂亮的接口,有个解决的方法是将所有特效由特效编辑器生成脚本,游戏过程中由渲染引擎执行这些脚本。