Показать сообщение отдельно
Старый 21.04.2013, 13:23   #33
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Blitz3D и работа с опперативной памятью

кстати, раз проверка дистанции юзается только для сравнения с каким-то значением, возможно есть смысл юзать не реал дистанцию, а её аналог без sqrt внутри - т.е. тупо dot(v1-v2, v1-v2), т.е. тупо
diffX# = v1x - v2x
difY# = v1y - v2y
diffZ# = v1z - v2z
sqrDist# = diffX*diffX + diffY*diffY + diffZ*diffZ
значения, с которыми сравниваем (200, 400), надо соответственно будет возвести в квадрат.
возможно медленность блицевской математики сделает это ещё медленее, чем версию с sqrt, но надеюсь что нет о_0.

а ещё можно юзать иерархию объектов (если ещё не юзается) и проверять дистанцию не до каждой модели, а сначала до крайне маленького числа парентов, далее если они прошли проверку - проверяем их чайлды и т. д.
проверка в данном случае должна быть не дистанции от центра, а с учётом заранее посчитанных баундинг сфер например (до ближайшей точки на сфере). если и правда дистанции дофига жрут, значит объектов дофига, значит иерархически их структурировать это первое что надо сделать.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Кирпи4 (21.04.2013)