Я пытаюсь нарисовать (очевидно 3D) сферу на своем 2D-холсте.
Для этого я конвертирую целые числа от 0 до 20 для каждой широты и долготы в сферу, используя полярные координаты. Затем я использую треугольные полоски, чтобы «заполнить» внешнюю часть сферы. Я использую матрицы вращения / проекции, чтобы вращать и проецировать сферу. Однако, поскольку существует установленный порядок, в котором точки / треугольники рисуются, как только я поворачиваю сферу вокруг оси, задняя сторона (часть, наиболее удаленная от камеры) отрисовывается после более близких частей, что приводит к странный эффект.
Как мне избежать этого?
Моя идея состояла в том, чтобы отсортировать все точки по их z-значению, а затем нарисовать те, которые имеют наибольшее значение z в последнюю очередь. Тем не менее, сортировка всех точек каждого кадра будет довольно дорогой.