Как компенсировать нормали при масштабировании трехмерной сферы в направлении Z? - PullRequest
0 голосов
/ 23 ноября 2011

Я нарисовал 3-ю сферу с помощью opengl. Теперь у меня есть ползунок, с помощью которого пользователь может настроить Z-шкалу.

Даже если пользователь изменяет Z-шкалу, сфера не должна менять свою форму (то есть она не должна превращаться в эллипсоид), поэтому я делю вершины сферы по z-фактору, который я получаю от ползунка ,

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

Как я могу исправить эту проблему? Правильно ли рассчитываются нормы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...