May. 16th, 2015

a_lighthousecat: (Default)
Приветствую, дорогой читатель!

Меня зовут Хелена.
Я живу в Москве, работаю программистом, плету из бисера, вышиваю, коллекционирую модели самолетов и игрушечные маяки. Люблю путешествовать.

В этом журнале у вас есть шансы прочитать о:
- Разных городах, а иногда и странах
- Программировании (в основном C/C++/C# и 3D-графика)
- Хэндмэйде*
- Книгах, фильмах и прочем культурном просвещении
- Флоте, авиации и космонавтике

По крайней мере, я так предполагаю. Посмотрим, что получится на деле, по результатам этот пост будет отредактирован:)

*Именно "прочитать о" - мои работы можно увидеть в магазинчике на Ярмарке Мастеров http://www.livemaster.ru/luarsoll и его зеркалах:
http://noldo-luar.livejournal.com/
https://vk.com/noldo_luar
https://www.facebook.com/alighthousecat/

Assimp

May. 16th, 2015 12:43 am
a_lighthousecat: (Default)
Assimp - весьма популярная библиотека импорта трехмерных моделей из файлов различных форматов.

Однако если присмотреться повнимательнее - она позволяет не только загружать модели, но и сохранять их. Другое дело, что сохранение моделей документировано заметно хуже, чем загрузка, и с ним придется повозиться и поискать примеры. Но разобраться вполне реально, поэтому я не буду останавливаться на этом вопросе.


Понадобилось мне, собственно, следующее:

- Загрузить 3D-модель из какого-нибудь формата (например, Wavefront OBJ, но необязательно)

- Некоторым образом ее преобразовать (удалить часть полигонов, части полигонов присвоить другие материалы)

- Сохранить модель (в Wavefront OBJ)


Пока моей задачей была работа с геометрией, а материал на всю модель был один, все шло отлично. А вот затем, с материалами, не заладилось: в файл все, вроде бы, сохраняется нормально, но при последующей загрузке тем же моим приложением, с использованием, опять же, Assimp, материалы загружаются некорректно. Либо все превращаются в JoinedMaterial_#63 (не обязательно именно 63, цифра может быть другая), либо сохраняют названия, но становятся одинаково серыми.


Приглядевшись, я обнаружила следующее: если в исходном файле материалов строки, описывающие цвет материала, начинались с Ka, Kd, Ks (с больших букв K), то в свежесохраненных файлах - с ka, kd, ks (то есть с маленьких). Кроме того, по непонятной причине в сохраненных файлах отсутствует строчка, описывающая коэффициент зеркального отражения. Я скачала исходники последней стабильной версии библиотеки, посмотрела в код: так и есть, проблема со строчными/заглавными буквами на месте. Вот в чем проблема с коэффициентом отражения - с ходу не поняла.


Но самое, на мой взгляд, удивительное в этой ситуации то, что я так и не смогла ничего конкретного по этому поводу найти в интернете. То ли мало кому доводилось сохранять в Wavefront OBJ с помощью Assimp, то ли те, кому доводилось, молча вносили небольшую поправку в исходники и пересобирали библиотеку, то ли я искать не умею...
a_lighthousecat: (Default)

Поскольку 9 мая я планировала отмечать не в Москве, а в Бресте, а технику посмотреть все-таки хотелось, то 4 мая я отправилась в окрестности метро "Динамо", а конкретно - на поворот с улицы Авиаконструктора Сухого на Ленинградский проспект. Увы, о том, что 4 мая не будет самолетов, я осознала только то ли 3, то ли даже непосредственно 4 мая, когда менять планы было уже несколько неудобно.

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

Read more... )
Page generated Aug. 30th, 2025 09:35 pm
Powered by Dreamwidth Studios