Показать сообщение отдельно
Старый 18.02.2009, 16:36   #1
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
помогите с порталами

Здрасьте.
В общем я оконачательно запарился, не могу спрогать систему типа area-portals, хреновый я математик)

хотя в теории понятно, что мы должны вести от позиции камеры дополнительный фруструм через крайние точки портала и скрывать невидимые в арее (секторе) с той стороны объекты.

но что-то всё наперекосяк выходит...

в общем, если кто имел опыт в создании подобного, или кому не сложно такое сделать, был бы очень признателен за dll с портальными функциями.
а то горит дема, без порталов всё тормозит.

что нужно:
- нужно функцию, которая будет принимать флоат-значения:
Cx,Cy,Сz, p1x,p1y,p1z, p2x,p2y,p2z, p3x,p3y,p3z, p4x,p4y,p4z, bminx,bminy,bminz, bmaxx,bmaxy,bmaxz
где:
Cx,Cy,Cz - позиция камеры (начало фруструма)
точки p** - четыре точки портала, через которые фруструм проходит.
точки bmin/bmax - мин и макс точки бокса, нахождение которого в портале должно осуществляться.

функция должна возвращать 0 или 1 в зависимости от того, нашёлся ли бокс.

я делал на каждую плоскость фруструма уравнение плоскости, дабы узнать что внутри а что снаружи, но столкнулся с кучей непоняток (я ноль в геометри ваще).
главная кстати непонятка - это как определить нахождение бокса во фруструме если все его точки то снаружи.

в общем был бы рад за помощь.
если сделаете, возможно найдётся и ещё работка, уже оплачиваемая)
(Offline)
 
Ответить с цитированием