Опубликовано 14 ноября, 2018 - 08:01 пользователем bigov
Целый месяц ушел на поиск и изучение свободных библиотек для создания элементов графического интерфейса. Перебрал наверно десятка два различных библиотек - собирал, изучал документацию, тестировал. В результате, по моему мнению, самой продвинутой и удобной для создания интерфейсов является связка из gtkmm и GTK+. Если бы я разрабатывал мультиплатформенное графическое приложение, без использования OpenGL, то остановил бы свой выбор именно на gtkmm.
Опубликовано 14 октября, 2018 - 20:26 пользователем bigov
Занялся поиском библиотеки виджетов для настройки графического интерфейса. Пересмотрел несколько библиотек и неожиданно вышел на библиотеку Allegro. Довольно интересная разработка, своего рода "Швейцарский нож" - мультиплатформенная, есть поддержка нативных диалоговых окон, загрузки файлов, мультимедиа и даже OpenGL. Не верилось, но выходило, что можно исключить из проекта сразу несколько библиотек заменив все одним Allegro.
Опубликовано 22 сентября, 2018 - 07:45 пользователем bigov
После летнего перерыва работа возобновилась. Закономерно, что перерыв дает возможность отвлечься от работы над деталями исходного кода и рассмотреть проект в целом. Еще раз проанализировать общую идею, состав, логику работы и структуру проекта.
Опубликовано 3 февраля, 2018 - 08:41 пользователем bigov
Это конечно круто и увлекательно - писать собственый графический движок. Но чем дольше я этим занимаюсь, тем больше возникает ощущение, что "изобретаешь велосипед". Надо поработать с популярными графическими движками - изучить их устройство и работу. Сейчас, когда уже понятны принципы работы c OpenGL, самое время посмотреть - "а как там у них?".
Опубликовано 2 декабря, 2017 - 10:32 пользователем bigov
Поработал немного с Clang. Впечатление неоднозначное - есть моменты, которые не до конца понятны. Несомненный плюс Clang - это удобная интеграция со средствами разработки для анализа кода. Я даже сделал попытку перейти от использования среды Vim+GCC на Emacs+Clang.
Опубликовано 13 сентября, 2017 - 10:45 пользователем bigov
Преодолена еще одна ступенька в процессе развития проекта - реализован рендер во фреймбуфер. Теперь стало понятно, как сравнительно простыми средствами реализовать курсор и HUD в 3D окне.
Достаточно просто решилась задача написания обертки к библиотеке Freetype для работы с текстом. Теперь можно рендерить надписи на экране в произвольном месте почти без снижения быстродействия.
Опубликовано 14 июля, 2017 - 21:52 пользователем bigov
Практическая реализация принципа динамического управления содержимым буфера VBO. Такой алгоритм реализовать вполне возможно, если понимать как работает API OpenGL. На видео ниже
Опубликовано 9 июня, 2017 - 10:00 пользователем bigov
В процессе поисков увеличения быстродействия графического движка попробовал перенести все процедуры расчета элементов поверхности в GPU. Теперь программа занимает в оперативке меньше 20Мб. Чтобы иметь возможность изменять окружающее пространство, в оперативной памяти основной программы хранится только массив опорных точек, которые используются для расчета и построения поверхностей. Планировалось, что если идея обеспечит нужный эффект, то в дальнейшем координаты опорных точек можно в виде потока передавать из базы данных.
Опубликовано 18 декабря, 2016 - 15:58 пользователем bigov
Закончил перенос базового функционала графического движка Trickrig на работу с библиотекой GLFW. В целом, затея по переходу была не напрасной. В результате полной переработки всего приложения модуль формирования трехмерной графики стал более гибким и быстрым.
Опубликовано 8 ноября, 2016 - 22:05 пользователем bigov
Месяц назад решил переписать код с использования библиотеки SDL2 на SFML. Меня не устроило отсутствие в SDL2 нативной поддержки текста, а только через сторонний, слабо развиваемый, плагин. Да и сама библиотека SDL2 "ванильная", а SFML "плюсовая". Конечно, я придирался, но решение было принято. Поддержка вывода 2D текстовых сообщений в SFML оказаласть действительно гораздо удобнее. Еще в ней очень удобная работа со звуком (хотя и не без шероховатостей).
Страницы