gpt4 book ai didi

c++ - 对象渲染顺序,场景图?

转载 作者:搜寻专家 更新时间:2023-10-31 00:42:05 26 4
gpt4 key购买 nike

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

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

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

最佳答案

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

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

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

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

关于c++ - 对象渲染顺序,场景图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12453465/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com