Показать сообщение отдельно
Старый 19.01.2012, 12:03   #19
Платон Александрович
Нуждающийся
 
Аватар для Платон Александрович
 
Регистрация: 05.10.2011
Адрес: Россия, Южно-Сахалинск
Сообщений: 66
Написано 42 полезных сообщений
(для 83 пользователей)
Ответ: Как сделать правильнее

интересная тема

Mr_F_ +1

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

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

кстати по поводу способа с копированием и обрезкой геометрии, там тоже проблем полно, например

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

мне в голову приходит только один вариант - сначала обрезать выбраные треугольники плоскостями других выбраных, а потом уже резать боксом
если есть какие-нибудь другие идеи, буду рад их выслушать

ЗЫ
представляем 4 бесконечных плоскости, равноудалённые от позиции дырки и образующие квадрат
кстати по рисунку также можно понять почему резать лучше боксом, а не квадратом
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Mr_F_ (19.01.2012)