Единая система версий и обновление 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, в случае если у поверхности отсутствует материал
Скачать свежую версию можно с сайта (требуется регистрация).


