Привет! Меня зовут Стривер, а это, типа, мой сайт :)
Быстрый доступ ко всем разделам сайта:

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

Привет!

Я решил, что изучать язык D лучше на каком-нибудь примере, и, стал разбираться, как выводить на экран 3D-модели в программах на этом языке. В процессе родилось некое подобие графической библиотеки, с помощью которой, я надеюсь, будет возможным реализовывать приложения с 3D-графикой или небольшие игры. Конечно, это всё ещё "игрушечный" движок (и, наверное, всегда будет таким оставаться), ему далеко до таких монстров, как OGRE, или, тем более, Unreal.

Для отрисовки 3D-моделей на экране компьютера в DDD используется интерфейс OpenGL (версии от 1.4 до 2.1, без шейдеров), за создание и обработку событий окна отвечает библиотека SDL 2-й версии. Приложения, использующие библиотеку, возможно скомпилировать в системах Windows (я проверял на Windows 7), и в Linux (я проверял в Fedora Linux).


Скачать DDD

Разработку библиотеки я веду в GitLab по адресам:
gitlab.com/Striver/DDD - сама библиотека DDD
gitlab.com/Striver/my_utils - маленькая дополнительная библиотека с функциями общего назначения (она требуется в DDD)

При желании вы можете выкачать из GitLab проекты целиком, но для просто использования я рекомендую взять готовый архив, в котором есть всё необходимое для использования библиотеки DDD. Его можно скачать с этого сайта:
ddd.zip


Документация по модулям DDD

Документация по классам и функциям модулей библиотеки DDD находится тут.


Учебник по DDD

Учебник можно читать тут.
А можно скачать себе в фомате PDF отсюда.


Пример игры "Шарики" на основе DDD

Простой 3D-клон игры Zuma.

Сборки для систем:

Windows-64
Для запуска игры скачайте и распакуйте архив. Запустите файл шарики.exe. Если у вас стоят видеодрайвера, поддерживающие OpenGL, то должно запуститься.


Linux-64
Для работы игры в систему требуется установить пакеты библиотеки SDL, я так и не понял, как их распространять сразу вместе с игрой в случае Linux. Если у вас Ubuntu, выполняем в консоли следующее:

sudo apt-get install libsdl2-2.0-0 libsdl2-image-2.0-0 libsdl2-ttf-2.0-0

Если у вас Fedora, то нужно выполнить такую команду:
sudo dnf install SDL2 SDL2_image SDL2_ttf

Для запуска игры скачайте и распакуйте архив. Запустите файл шарики (в некоторых файловых менеджерах, например, в моём Thunar, потребуется вместо исполняемого файла запустить шарики.desktop).