在我的Metal应用程序中,当物体变得非常大或移离屏幕很远时,我会出现故障。我认为这是由于计算顶点转换时的溢出。例如,我将有一个顶点X位置翻转,从非常大的正数到非常大的负数。这会导致一个三角形,其中一个顶点位于右侧,而另一个顶点位于左侧,因此当渲染错误的极宽三角形时会出现毛刺。
对于大多数对象,我只能检测它们何时移出屏幕而不绘制。但是,如果某个对象跨过屏幕-假设您位于巨大的水平环中间-那么我必须绘制该对象,因为它的一部分出现在屏幕上。
金属仅具有浮点精度,而不是双精度。那么,有什么方法可以检测转换计算何时溢出?您如何处理这种情况?