![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по OpenGL [Delphi, Windows]
ПЛОВ © (2005-08-08 11:37:00)Что-то я не могу никак понять (в инете уже рылся, не нашел, только учебники всякие стандартные): нормаль должна быть перпендикулярной плоскости, указаной glVertex'ами. К какому именнo glVertex'у ее "привязывать"? Что, если используеться GL_TRIANGLE_FAN, как в таком случае строить нормаль? Там ведь две плоскости получаеться, т.е. должно быть две нормали...
Вообщем, плиз, просветите ламака :)
ПЛОВ (2005-08-08 14:59:00) [1]
> A22 © (08.08.05 14:12) [3]
> a,b,c
> нормаль - нормализованное векторное произведение (b-a)*(c-a)
Спасибо, уже все нашел. И оно даже работает :)
A22 (2005-08-08 14:12:00) [2]a,b,c
нормаль - нормализованное векторное произведение (b-a)*(c-a)
ПЛОВ (2005-08-08 11:49:00) [3]
> Sphinx ©
Т.е. можно просто задать нормали к двум "крайним" точкам GL_TRIANGLE_FAN'a чтоб не париться? Ладно, спасибо, буду дальше сам эксперементировать :)
Может еще кто формулу расчета нормали по трем точкам плоскости кинет? Что то самому придумывать не хо... Бошка совсем не варит с утра :)
Sphinx (2005-08-08 11:41:00) [4]А это хитрый вопрос :)
Если строишь нормаль ко всем четывел точкам - то получишь сглаженый прямоугольник (без диагональной линии) даже если не все точки лежал в одной плоскости.
А если задашь нормали к каждой из двух плоскостей - то и внешний вид будет соответствующий...
В 3DMax это называется "группы сглаживания"
Читай дальше ;)