14.09.2015, 03:14 | #11 |
Местный
Регистрация: 12.07.2015
Сообщений: 417
|
Спасибо, конечно, за спасибо! Но!
Есть большая ж. Даже так - Ж! Группы сглаживания в Иловских мешах не сохраняются! Для того, чтобы ускорить загрузку моделей в игре, иловский меш уже содержит все необходимые, предварительно рассчитанные нормали. Т.е., в таком подходе большой плюс в том, что у тебя все необходимые данные просто грузятся в буферы и отдаются на отрисовку. Не надо на этапе загрузки моделей рассчитывать нормали (а это занимает время и требует определённых манипуляций с данными). Разработчики не ставили целью возможность восстановить модель из своего формата, им это не нужно было, у них модели и так были в наличии. А вот скорость загрузки моделей и простата манипуляций с ними для них важна. Я уже давно ломаю голову над тем, как можно из имеющихся данных попробовать восстановить группы сглаживания. К сожалению простых и надёжных способов для этого нет. И открытых алгоритмов для этого, похоже тоже нет. Беглым просмотром в гугле я ничего толкового на эту тему не нашел, даже намёков на решение. Придётся придумывать самостоятельно, а это очень трудоёмкая и непростая задача. Не знаю, буду ли я этим вообще заниматься. Было бы хотя бы годное описание мат аппарата для этой задачи, хоть можно было бы оценить во что это выливается. У меня опыта в решении такого рода задач нет. Как я уже говорил, 3Д я раньше вообще не занимался. Сложность в том, что группа сглаживания задаёт некоторые области для которых нормали должны рассчитываться определённым, заданым автором модели, образом. И группа, как раз, и содержит в себе эти параметры. И в иловском меше, кроме уже рассчитанных нормалей, следов этого определения нет. А нормаль - это уже результат вычислений по заданным в группе правилам. Значит надо проходить по всем полигонам и каким-то образом определять степень искривления поверхности, группировать полученные данные определённым образом и потом пытаться понять является ли некоторая группа полигонов обеденённой в одну группу сглаживания, либо нет. В принципе, наименее сложно выделить группы полигонов (для плоских поверхностей), у которых сглаживание было отключено, у них все нормали принадлежащих им вершин в замкнутой поверхности смотрят в одну сторону и параллельны. Но даже это без гарантии, по крайней мере у меня нет сейчас уверенности в том, что это не будет искажать результат. Вот такие пироги. Последний раз редактировалось NB79; 14.09.2015 в 03:30. |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|