Единая система версий и обновление Alternativa3D

29.08.2008 Антон Волков

Как вы помните, выпуск Alternativa3D в общее пользование проходил в авральном режиме. Надо сказать, что тогда мы не уделили должного внимания системе версий. Сейчас назрела необходимость в организации билд-серверов, где важно иметь прозрачные зависимости библиотек друг от друга. В связи с этим все библиотеки платформы (а их уже несколько десятков) приводятся к следующему единому формату:

X.Y.Z

  • X — поколение. Новое значение означает серьёзные изменения в архитектуре, вплоть до полной переделки. Совместимость с другими поколениями не гарантируется.
  • Y — feature-версия. Добавляются новые функции, производится рефакторинг, поэтому возможны переименования методов, классов, о чём отдельно упоминается в списке изменений.
  • Z — fix-версия. Исправляются ошибки и вносятся оптимизации. API не меняется и все fix-версии в текущей feature-версии совместимы между собой.

В новой системе версии Alternativa3D меняются так:
5.0.1 -> 5.1.0
5.0.2 -> 5.2.0
5.0.3 -> 5.3.0
5.0.4 -> 5.4.0
5.1.0 -> 6.0.0
Извините за небольшие неудобства, но лучше привести всё в порядок сейчас, чем позже.

В последнее время шла подготовка исходников Бункера и Храма. Как это иногда бывает, в практической работе с движком появились новые идеи по развитию библиотеки.

Итак, в версии 5.4.0:

  • Добавлены методы View getFaceUnderPoint и getFacesUnderPoint которые позволяют получить грани объектов, находящихся под заданной точкой области вывода
  • Добавлены классы WalkController и FlyController, позволяющие организовать управление ходьбой и полётом
  • Добавлен класс EllipsoidCollider, реализующий алгоритм поиска столкновений эллипсоида с геометрией
  • Добавлен параметр Scene3D planeOffsetThreshold — погрешность при определении расстояния точек до рассекающих плоскостей
  • Добавлен метод Set.createFromArray для создания множества из массива
  • Добавлен метод Matrix3D.axisAngleToMatrix для формирования матрицы поворота на заданный угол относительно заданной оси
  • Добавлен метод Matrix3D getRotations, который позволяет получить значения углов поворота матрицы
  • Исправлена ошибка в OBJLoader, возникающая при загрузке модели с текстурами, но без UV-координат
  • Исправлена ошибка при клонировании Mesh, в случае если у поверхности отсутствует материал

Скачать свежую версию можно с сайта (требуется регистрация).

Комментарии (3) на “Единая система версий и обновление Alternativa3D”

  1. makc Says:

    А когда откроются миру несколько десятков библиотек минус одна?

  2. Super Man Says:

    Да прикольно! Я что то пропустил, а мультиобъектность вы сделали? Или пока не до этого?
    Кстати поздравляю всех с днем знаний! ) Побольше вам хороших и качественных знаний! )

  3. Антон Волков Says:

    makc, часть с выходом GUI, часть с появлением Core (правда, эти библиотеки вряд ли будут выложены в общее пользование).

    Super Man, не видел в ченджлогах мультиобъектность, и, честно говоря, не понял о чём ты ;)

Оставить комментарий

(Регистрация)

Powered by WP Hashcash