Состоялось обновление кодовой базы Atrium. Старый физический движок полностью заменен новым. Также была добавлена заготовка для первого уровня (пока без текстур, только карта Ambient Occlusion).
В модуле dlib.math.vector реализованы функция isAlmostZero, шаблоны для целочисленных векторов (Vector2i, Vector2u). vectorDecreaseToZero теперь поддерживает векторы произвольного размера;
В dlib.math.utils добавлены функции sign и swap;
В dlib.math.matrix3x3 реализовано покомпонентное сложение и вычитание матриц;
В dlib.math.matrix4x4 добавлены функции shadowMatrix для построения теневых матриц (проекции вершин на плоскость) и matrixFromAxisAngle для построения матриц вращения из представления “ось-угол”;
Для изображений в частотном диапазоне (dlib.image.compleximage) реализованы обратная свертка (deconvolve) и деление (divide).
Электронно-познавательный журнал “FPS” приглашает к сотрудничеству программистов и художников, специалистов по CG, обработке изображений, моделированию, рендерингу и анимации. Нам нужны авторы обложек, фоновых изображений, рисованных заголовков, иллюстраций, а также статьи и уроки по компьютерной графике. Обращайтесь, пишите, будем рады всем!
Доступна сборка тестового уровня Atrium с интегрированным новым физическим движком – в целях демонстрации его возможностей, сферы были заменены на боксы.
Добавлена новая функция гравитационного излучателя: если выстрелить им в статичный объект (например, в стену или в потолок), то игрок притянется к этому месту.
Кроме того, теперь игрок может стоять и прыгать на динамических объектах – это позволит в будущем ввести интересные элементы геймплея: например, если необходимо забраться на недосягаемую высоту, игрок сможет нагромоздить несколько объектов друг на друга и вскарабкаться по ним. Сборка для Windows (1,82 МБ)
Повышена точность солвера, улучшена стабильность объектов в стеке (в представленной демке вы можете наблюдать стопку из 10 боксов, устойчиво стоящих один на другом), реализованы упругие столкновения. Добавлена поддержка треугольников – идет работа над реализацией статичных trimesh’ей для игровых уровней.