对象渲染顺序,场景图

object render order, scene graph?

本文关键字:顺序 对象      更新时间:2023-10-16

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

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

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

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

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

对列表进行排序后,将对其进行翻录并按顺序渲染对象。

您可能混淆了对场景图的需求,因为几乎任何场景图实现都会渲染列表。