【发布时间】:2013-10-04 00:20:19
【问题描述】:
我正在使用 glDrawElementsInstanced() 绘制大量立方体 (100 000+)。由于性能原因,我想实现截锥体剔除,但是当我使用实例化时我不太确定如何做到这一点。 据我所知,访问单个对象实例的唯一方法是在着色器中,所以我认为我必须在那里进行剔除。我不太确定该怎么做。 谁能给我指点教程?
【问题讨论】:
我正在使用 glDrawElementsInstanced() 绘制大量立方体 (100 000+)。由于性能原因,我想实现截锥体剔除,但是当我使用实例化时我不太确定如何做到这一点。 据我所知,访问单个对象实例的唯一方法是在着色器中,所以我认为我必须在那里进行剔除。我不太确定该怎么做。 谁能给我指点教程?
【问题讨论】:
尝试在顶点着色器中进行剔除在此过程中为时已晚。您必须以某种方式将立方体的变换提供给着色器,只需获取该数据并设置Bounding Volume Hierarchy。然后只绘制通过平截头体剔除的实例。
【讨论】: