d
dlib 0.9.0 beta
А еще Atrium был успешно портирован под FreeBSD.
Программный растеризатор на D
Из ограничений можно отметить отсутствие сплиттинга полигонов, выходящих за пределы буфера кадра – когда-нибудь, может, исправлю.
Весь исходный код умещается в одном файле (<600 строк), не считая бибилиотеки dlib и биндинга к SDL для вывода изображения. Можете использовать его для самообразования или как основу для собственного программного рендера. В архиве есть сборка для Windows.
Игровые движки на D
Вот еще парочка проектов, которые проявляли активность в течение последних лет, но нынешняя актуальность которых вызывает сомнения:
- EncoXD – кроссплатформенный движок на основе SDL2 и OpenGL 3.2 со скриптингом на Lua и начальной поддержкой сети
- ZuzuStudio Game Engine – курсовая работа студентов из Минска. Курсачи редко перерастают во что-то более серьезное, так что особых надежд питать не стоит.
- Unecht – очень любопытный 3D-фреймворк. Работает на GLFW и OpenGL 3.3, поддерживает физику (ODE), OpenAssimp, FreeImage, FMOD, включает собственный редактор сцен
- DGL – моя скромная разработка, графический движок под Windows, Linux и OSX. Работает на SDL и OpenGL 1.2 (но большая часть функциональности основана на шейдерах и расширениях OpenGL). Нет встроенного редактора, зато есть экспортер сцен для Blender. DGL все еще находится на стадии рефакторинга: есть стабильная версия и экспериментальная ветка DGL/GC-free с ручным управлением памятью, шейдерной системой материалов и многими другими фичами, но некоторые возможности основной ветки до сих пор в нее не портированы – например, скелетная анимация.
Если вы разрабатываете свой игровой движок на D, сообщите в комментариях, и я дополню список.
Vulkan, SDL и D
https://github.com/gecko0307/vulkan-demos
Пример представляет собой минимальное приложение, создающее окно SDL, инициализирующее Vulkan и закрашивающее в цикле экран синим цветом. Больше ничего рисоваться не должно.
Функциональность, относящаяся с Vulkan, отделена от SDL и остальной логики приложения, вынесена в модуль vkctx.d. Используются Derelict 2, SDL 1.2 и модифицированный биндинг VulkanizeD. Линковалось и тестировалось на системе с Windows 8.1 и видеокартой NVIDIA GeForce GT 740 с драйвером версии 356.39.