Обновление dlib

Состоялось серьезное обновление набора библиотек dlib. В числе нововведений:

  • Появилась начальная поддержка быстрого преобразования Фурье (FFT) в dlib.image. Возможна фильтрация и свертка изображений (со стороной 2^n) в частотной области;
  • Обновлен пакет dlib.math, добавлена реализация комплексных и дуальных чисел, а также внесены исправления и дополнения в dlib.math.matrix3x3 и dlib.math.matrix4x4;
  • Обновлен пакет dlib.geometry, добавлен класс ориентированных боксов (OBB), трехмерных треугольников и полигональных мешей. Реализована проверка на пересечение между сферой и треугольником, а также сферой и OBB. Добавлен модуль dlib.geometry.bezier с реализацией кривых Безье.

Иллюстрация FFT-свертки: быстрое синтетическое боке (оптическое размытие):

Изменения доступны в ревизии r21 и выше. В ближайшем будущем ожидается первый релиз проекта.

http://code.google.com/p/dlib/

Фиксированный шаг времени

Доступна новая тестовая сборка Atrium: в физическом движке реализован новый таймер, который учитывает интерполяцию между кадрами с фиксированным шагом времени. Физика «не любит» нефиксированный шаг, поэтому время между двумя кадрами рендеринга разбивается на определенное количество шагов, а остаток просто линейно интерполируется.

atrium-physics-test5-linux-x86.tar.bz2

Atrium: интеграция физики

Доступна сборка Atrium со включенным физическим движком. Данная демонстрация показывает возможность создания игры от первого лица на основе физики: объект-игрок тоже представлен динамическим твердым телом (у которого просто отключена угловая скорость) массой в 80 кг. Перемещение игрока осуществляется путем приложения сил в нужных направлениях.

atrium-physics-test2-win32.zip (3.13 Мб)

Поддержка боксов в физическом движке

Доступна новая сборка физического движка: идет работа над реализацией поддержки ориентированных боксов (OBB). На данный момент работает обнаружение столкновений бокс-сфера и бокс-плоскость.

physics-test7-win32.zip (0.9 Мб)

Исходники физического движка

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

physics-src-alpha0.zip (0.95 Мб).

Поддержка trimesh’ей в физическом движке

Доступная новая сборка физического движка: реализована поддержка статических полигональных мешей. Проверка столкновений с треугольниками оптимизируется при помощи BVH.

physics-test6-win32-optimized2.zip (0.98 Мб)

Журнал «FPS» №22



Вышел 22 номер электронного PDF-журнала «FPS», посвященного разработке игр, программированию, компьютерной графике и звуку.

 
Читайте в этом номере: 

> «FPS» 5 лет спустя…
> Blender: новости
> Open Shading Language
> Python-скриптинг в Blender. Добавляем новый тип объектов
> Обзор дополнений Blender. Выпуск 4
> OpenVDB
> Интервью с Фабио Руссо
> GIMP: новости
> Секреты мастерства Python-Fu. Скрипт для создания миниатюр
> Оптимизация проверки столкновений
> Дао программиста: 10 правил успеха
> Закрытое железо. Что находится в «черном ящике»?
> Linux. Полезные команды. Выпуск 2


Номер доступен для онлайн-чтения и загрузки на сервисе Issuu.com, Документах Google и Dropbox. Последние новости по проекту вы можете узнать в публичной странице журнала в социальной сети Google+: http://gplus.to/fpsmag. Добавляйте нас в круги, оставляйте свои комментарии и отписывайтесь в нашем сообществе.

Дао программиста

Некоторые из принципов, которых я придерживаюсь в своей работе, можно выразить в виде вот таких афоризмов:

1. Лучшая программа — это та, которая не была написана.

2. Простота — мать надежности.

3. Сложное должно быть простым.

4. Обычный программист думает: «Как сделать так, чтобы оно работало?»
   Хакер думает: «Как сделать так, чтобы оно не сломалось?»
  
5. Оптимизация — это зло.

6. Если программа падает, в ней есть ошибка.
   Если программа не падает, в ней все равно есть ошибка.
   Просто она еще себя не проявила.
  
7. Защита от дурака важнее защиты от недоброжелателя.

8. Хороший код не нуждается в комментариях.

9. Красивое решение — правильное решение.

10. Улучшить порой сложнее, чем переписать заново.

Обновление физического движка

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

physics-test5-win32.zip (0.8 МБ)
physics-test5-linux-x86.tar.bz2 (2.0 МБ)

Кроме того, недавно я завел аккаунт на DropBox — теперь все публичные файлы буду выкладывать туда.