【问题标题】:object render order, scene graph?对象渲染顺序,场景图?
【发布时间】:2012-09-17 13:59:21
【问题描述】:

我正在使用 OpenGL 渲染 3D 对象。 3D 世界中的每个对象都有一个边界框和一个关联的模型矩阵,用于将对象从零件坐标系 (PCS) 转换为世界 (WCS)。边界框也在 PCS 中。每个对象的质心在 WCS 中计算并与每个对象相关联。

给定 WCS 中的摄像机位置和目标位置: -> 我想从前到后渲染所有不透明对象(alpha == 1)。 -> 我想在渲染不透明对象后从后到前渲染所有半透明对象。

由于这是我第一次尝试实现图形引擎,我不确定场景图将如何帮助我。我想我必须根据与相机的距离手动对对象进行排序,然后根据不透明/半透明对象进行渲染。我真的需要场景图吗?我应该如何实施引擎。我可以使用其他可用的引擎,但我不喜欢并且想自己实现。

【问题讨论】:

    标签: c++ opengl scenegraph


    【解决方案1】:

    嗯,这里不一定需要场景图,但确实需要渲染列表。也就是说,您清除列表的每个渲染周期。每个要渲染的对象都将自己添加到渲染列表中。完成后,根据与相机的距离对列表进行排序。

    在您的情况下,您可能希望使用两个渲染列表:一个用于半透明对象,一个用于不透明对象。

    一旦您的列表被排序,您就可以翻阅它们并按顺序呈现对象。

    您可能对场景图的需求感到困惑,因为几乎任何场景图实现都会呈现列表。

    【讨论】:

      猜你喜欢
      • 2015-03-09
      • 2013-07-05
      • 2017-03-15
      • 1970-01-01
      • 1970-01-01
      • 2020-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多