Рассмотрим, что это значит, когда z = 0.Это означает, что вы делаете х / 0, что плохо - в этом случае это означает, что точка занимает ту же позицию, что и ваша камера!И когда z становится меньше, это означает, что точки идут за вашей камерой, поэтому вы не должны их отображать вообще.
Вы должны отбирать (не отображать) любые точки, которые находятся «за экраном».Выберите маленький z, чтобы он был вашей «ближней плоскостью», скажем, z = 1.Вы должны обрезать любую геометрию относительно этой плоскости z = 1, чтобы предотвратить неправильный рендеринг.
В случае точек, вы можете отметить point.z < 1
.Для линий это более сложно - вы должны вычислить пересечение линии с плоскостью z = 1 и при необходимости обрезать ее.
Вы можете найти некоторую информацию об отсечении линии здесь .