Dagon 0.18

Выпустил новую версию Dagon. В загрузчике OBJ наконец-то появилась поддержка групп – если в файле присутствуют группы, они будут доступны через свойство OBJAsset.groupMesh, так что вы можете использовать их в качестве отдельных мешей вместо единого OBJAsset.mesh. Также загрузчик теперь не падает на моделях с N-гонами, а выводит предупреждение, что они не поддерживаются.

Добавлен новый экстра-шейдер dagon.extra.starfieldsky – ночное небо со звездами. Он представляет собой улучшенную версию шейдера звездного неба из демки с планетой. Основное нововведение – поддержка мерцания звезд.

Слегка переделан NewtonCharacterComponent: появился новый параметр радиуса. Логика теперь следующая: контроллер персонажа, как и прежде, представлен двумя Newton-сферами, но их радиус теперь задается пользователем, а не вычисляется автоматически. Сферы располагаются сверху и снизу от барицентра на расстояниях, которые вычисляются исходя из радиуса и роста персонажа.

В dagon:iqm появились новые свойства для анимированных моделей: Actor.looping (зацикленность), Actor.state.finished (индикатор завершения текущей анимации). Исправлен баг с фейсгруппами при загрузке некоторых IQM.

Обновления

Вышел bindbc-wgpu 0.22.0, соответствующий wgpu-native 22.1.0.1. Обновилось много чего по мелочи, из важного: теперь нужно удалять WGPURenderPassEncoder после отрисовки, иначе у вас wgpuQueueSubmit будет падать с ошибкой.

Соответственно, обновил и демонстрационное приложение wgpu-dlang, плюс избавился там от библиотеки STB для загрузки изображений.

Стеганография в dlib

Моя статья 2016 года, изначально написанная для блога LightHouse Software. Приведенный код актуален и сегодня.

Думаю, нет необходимости лишний раз говорить о том, насколько в наше время важна защита личных данных и тайна переписки. Конечно, к нашим услугам имеются криптографические алгоритмы, но одного только шифрования порой бывает мало – иногда нужно не просто передать секретное сообщение, но и скрыть сам факт передачи. И здесь приходят на помощь алгоритмы стеганографии.

(далее…)

Dagon на FOSDEM 2024

Классная новость: на прошедшей в феврале в Брюсселе FOSDEM ’24, европейской конференции по свободному программному обеспечению, американский профессор компьютерных наук Майк Шах (Mike Shah) представил доклад по языку D. В числе прочего, доклад включает информацию по Dagon. Отмечается, что это “существенный проект, который представляет интерес для графических разработчиков”. Также упоминаются Dash, Hipreme Engine, BindBC и некоторые коммерческие игры, созданные с использованием D.

Ссылка на презентацию

Доклад представляет собой общее ознакомление с языком, обзор основных его особенностей и преимуществ в плане разработки СПО, а также некоторых библиотек и примечательных проектов, написанных на D.

Майк Шах – ученый в области компьютерной графики и визуализации, Ph.D. компьютерных наук, преподаватель Колледжа компьютерных наук Хури Северо-Восточного университета (Массачусетс).

Векторная графика в dlib

Моя статья 2017 года, изначально написанная для блога LightHouse Software. Приведенный код актуален и сегодня.

Коллекция библиотек dlib предоставляет функции для рисования отрезков и окружностей (см. dlib.image.render.shapes). Однако при построении сложной векторной графики не обойтись без рендеринга более интересных объектов – в этой статье я рассмотрел рисование закрашенных многоугольников и фигур Безье на их основе.

(далее…)