Автор Тема: Программа-просмотрщик объектов: требуется помощь программистов!  (Прочитано 14290 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Zontik

  • Призрак
  • Сообщений: 14177
    • Тёмное место
Soul_Tear, так стремись, кто не дает? А для меня это уже пройденный этап.
Надеюсь только, что ты не станешь одним из этих
Цитировать
юношей с горящими глазами.
(Возраст, как я понимаю, тут значения не имеет.)
Дайте глазам отдохнуть! Тёмное место

Оффлайн Soul_Tear

  • Мастер Теней
  • Сообщений: 4482
Мне не надо стремиться, я итак это делаю. Еще давно здесь говорил, что на дядю не работаю. А тебе да, уже поздно.
Сейчас играю в The Witcher 3: Wild Hunt

Оффлайн Soul_Tear

  • Мастер Теней
  • Сообщений: 4482
Надеюсь только, что ты не станешь одним из этих
Цитировать
юношей с горящими глазами.


Вообще об ком речь? Любой человек так или иначе проходит какой-то путь, и все так или иначе достигают цели. Если у кого-то цель: спиться и попасть под машину - это никак не связано с тем, что человек не смог воплотить свои идеи, просто не очень-то и хотел или не было там никаких идей.
Сейчас играю в The Witcher 3: Wild Hunt

Оффлайн Force

  • Тень
  • Сообщений: 7907
Soul_Tear, а ты, оказывается, чёрно-белый чувак  ;)

Оффлайн nemyax

  • Мастер Теней
  • Сообщений: 4126
  • Нёмыч
Интерфейс - а всё-таки зачем АПИ-интерфейс? Неужели не подойдет интерфейс в самом 3d приложении? Ну, как в гонках мы выбираем модель автомобиля, который крутится на экране.
Дело хозяйское, но очень рекомендую FLTK. Без проблем настроил сборку в студии под вендой и в GCC под линуксом. Под обеими системами завёлся OpenGL 3+. Невероятно легковесный со статической линковкой, всё нужное умеет и хорошо оттестирован.

Оффлайн Force

  • Тень
  • Сообщений: 7907
nemyax, ага, гляну, спасибо!

А я тут приближаюсь к выпуску первой тестовой сборки. Уже прикрутил поддержку почти всех графических форматов, кое-где значительно поменял внутреннюю архитектуру движка, сделал ее прозрачнее. Но большую часть времени возился именно с интерфейсом... хех, чтобы в итоге выпустить первую сборку без него :cheesy:... потому что так и не допилил. Скроллинг оказался непростой задачей... Осталось еще несколько штрихов... Ориентируюсь на ближайшие недели две, если не возникнет внезапных авралов на работе.
« Последнее редактирование: 01 Марта 2018 12:20:16 от Force »

Оффлайн nemyax

  • Мастер Теней
  • Сообщений: 4126
  • Нёмыч
Force
Вот ты остановился на GL3. А как ты создаёшь матрицы модельвью-проекции? Всё руками? Стек-то убрали.

Оффлайн Force

  • Тень
  • Сообщений: 7907
Я использую библиотеку glm. Это аналог glsl методов и структур данных - векторов, матриц. Там есть все необходимое для работы. Рекомендую туториалы посмотреть, например learnopengl.com, а первые статьи уже на Хабре переведены https://habrahabr.ru/post/310790/ . Вообще, сейчас современный набор либ для OpenGL выглядит так: GLFW (для окон и контекста), GLAD (для OpenGL и расширений), GLM (для трансформаций и структур данных). Если у тебя что-то другое, советую рассмотреть эти либы.

Оффлайн nemyax

  • Мастер Теней
  • Сообщений: 4126
  • Нёмыч
Да, про glm читал. Но пока не знаю, не будет ли перебор его подключать. Для окошек всё есть в FLTK, а инициализация через файлики, сгенерированные GLLoadGen-ом.

Оффлайн Force

  • Тень
  • Сообщений: 7907
Ну тогда придется самому реализовывать всю математику, трансформации и пр. Это не сложно, все есть в справочниках, но потребует времени. А glm - это header only библиотека, специально компилить ее не надо.

Оффлайн Force

  • Тень
  • Сообщений: 7907
Всем, привет!
С радостью сообщаю вам что готов выслать тестовую версию просмотрщика всем желающим по email!
Реализованы следующие пункты ТЗ:

- Показ модели по щелчку на файле с возможностью перехода к следующему/предыдущему bin'у в текущей папке, переход осуществляется стрелками клавиатуры влево/вправо.
- Поиск текстур открываемой модели в текущей папке, а также в  txt/txt16.
- Отображение имени текущей модели (с абсолютным путем), списка использованных текстур, геометрических размеров модели (длина/ширина/высота), числа полигонов в модели.
- Возможность вращать модель мышью и приближать/удалять камеру колесом.

Пока реализован только режим Full Bright, без источников света и теней и нет автоматического позиционирования камеры при открытии модели, чтобы она вся была видна во вьюпорте, поэтому иногда после открытия файла нужно пользоваться скроллом.
Огромное количество времени было уделено разработке интерфейса выбора моделей из списка и навигации по каталогам, но волевым усилием решено было выпустить первую тестовую версию без него, поскольку работы в этом направлении еще много, а базовый функционал программа уже предоставляет.

После первой волны тестирования (и когда будет доделан мой сайт), программа будет опубликована для всех. Надеюсь на вашу поддержку и понимание. :)

Спасибо за ваше терпение!


Оффлайн Chuzhoi

  • Тень
  • Сообщений: 9216
Впервые в жизни улыбнулся, увидев лопату. Конечно, я посмотрю. Адрес выслал личкой.

Оффлайн Maxim

  • Тень
  • Сообщений: 5030
  • AM Creator
Большое спасибо за труды! Наконец-то можно попробовать и потестировать. По результатам пробы и практического использования можно будет написать отзыв подробнее.
Still they talk anyway
When there's nothing to say
There's so much said in empty words...

Оффлайн Boris3000

  • Мастер Теней
  • Сообщений: 3139
  • Noisemaker
Force
Высылай.

Когда слева появится список, стрелки влево и вправо станут напрашиваться поменяться на вверх и вниз.
Gigabyte GA-X48-DS4 / Core2-Quad Q9650@4.1GHz / Hynix original DDRII-800 2x2GB /
Gigabyte GV-NX96T1GHP 1GB DDR-3 GeForce 9600GT / SoundBlaster X-Fi Xtreme Gamer Fatal1ty Pro Edition /
RAID 0 из двух SSD Intel X25-M 120GB / Samsung SyncMaster 757DFX (труба 1024х768) /
Windows XP Professional SP3 VL 32-bit (MSDN)/ DirectX 9c June-2010 / ForceWare 270.61 / New-Dark 1.25

Оффлайн Force

  • Тень
  • Сообщений: 7907
Boris3000, я тоже так думал, но потом понял что удобнее будет, если переключение модели будет осуществляться по нажатию ENTER, выделенной курсором модели. Поэтому вверх/вниз, pgup/pgdown, home/end будет двигать курсор, а ENTER открывать модель, а влево вправо открывать следующую от текущей :).

К сожалению, я забыл флэшку с релизом на работе, поэтому выслать смогу только завтра. Прошу простить меня за такую невнимательность.