Я нарисовал 3-ю сферу с помощью opengl. Теперь у меня есть ползунок, с помощью которого пользователь может настроить Z-шкалу.
Даже если пользователь изменяет Z-шкалу, сфера не должна менять свою форму (то есть она не должна превращаться в эллипсоид), поэтому я делю вершины сферы по z-фактору, который я получаю от ползунка ,
И, для нормальных вычислений, я вычисляю на каждую вершину нормаль на vertex-center
и умножаю это на transpose(inv(scale matrix))
. Несмотря на эту компенсацию, я все еще вижу некоторые артефакты, представляющие собой сферу, похожую на шар для регби при увеличении Z-шкалы. И артефакты становятся более заметными, когда я увеличиваю количество сфер.
Как я могу исправить эту проблему? Правильно ли рассчитываются нормы?