Блог пользователя bigov

Allegro

Занялся поиском библиотеки виджетов для настройки графического интерфейса. Пересмотрел несколько библиотек и неожиданно вышел на библиотеку Allegro. Довольно интересная разработка, своего рода "Швейцарский нож" - мультиплатформенная, есть поддержка нативных диалоговых окон, загрузки файлов, мультимедиа и даже OpenGL. Не верилось, но выходило, что можно исключить из проекта сразу несколько библиотек заменив все одним Allegro.

Продолжение работы

После летнего перерыва работа возобновилась. Закономерно, что перерыв дает возможность отвлечься от работы над деталями исходного кода и рассмотреть проект в целом. Еще раз проанализировать общую идею, состав, логику работы и структуру проекта.

лето 2018

Как всегда, летом процесс разработки останавливается. Тут еще в апреле сократилась моя должность - пришлось искать новую работу. Проблемы решить удалось, но они тоже не давали заниматься разработкой. Надеюсь, через месяца полтора работа возобновится в прежнем режиме.

Графический движок

Это конечно круто и увлекательно - писать собственый графический движок. Но чем дольше я этим занимаюсь, тем больше возникает ощущение, что "изобретаешь велосипед". Надо поработать с популярными графическими движками - изучить их устройство и работу. Сейчас, когда уже понятны принципы работы c OpenGL, самое время посмотреть - "а как там у них?".

Работа с Clang

Поработал немного с Clang. Впечатление неоднозначное - есть моменты, которые не до конца понятны. Несомненный плюс Clang - это удобная интеграция со средствами разработки для анализа кода. Я даже сделал попытку перейти от использования среды Vim+GCC на Emacs+Clang.

3D движок

Практическая реализация принципа динамического управления содержимым буфера VBO. Такой алгоритм реализовать вполне возможно, если понимать как работает API OpenGL. На видео ниже

Геометрические шейдеры

В процессе поисков увеличения быстродействия графического движка попробовал перенести все процедуры расчета элементов поверхности в GPU. Теперь программа занимает в оперативке меньше 20Мб. Чтобы иметь возможность изменять окружающее пространство, в оперативной памяти основной программы хранится только массив опорных точек, которые используются для расчета и построения поверхностей. Планировалось, что если идея обеспечит нужный эффект, то в дальнейшем координаты опорных точек можно в виде потока передавать из базы данных.

AutoFS

Долго мучился с проблемой зависания файловой системы на точках монтирования к сетевым шарам мастдая. Блокировка возникает при сетевых сбоях, когда сервер на какое-то время оказывается недоступен по сети. Пробежал по "тусовкам" в интернете и выяснил, что этой проблеме подвержены все основные Linux-дистрибутивы - Arch Linux, Gentoo, Ubuntu, Centos.

Cmake

После тестов с Clang остался установленный свежий Cmake. Мне понравился его разноцветный вывод во время сборки тестовых проектов. Попробовал настроить конфигурационный файл для сборки моего проекта в MS-Windows. После почти двух часов борьбы с мануалами и общения с поисковыми системами мой интерес к этой софтине немного поостыл. Конечно, по факту (возможно) Cmake может избавить сторонних специалистов от некоторых проблем со сборкой моего проекта. Но для этого, по-хорошему, надо потратить немало времени на изучение возможностей Cmake, синтаксиса его файлов, подбор модулей.

Clang

Решил попробовать заточить компиляцию проекта в Clang. Что-то много о нем хвалебных постов попадается в последнее время. Но, как сказал Козьма Прутков: "Зри в корень".

Страницы

Подписка на RSS - Блог пользователя bigov