Изменения:
- Добавлен новый рендер фильтр DynamicBSPRender. Обратите внимание, что рендер фильтры назначаются камерам (в предыдущих версиях сцене)! И делается это так:
this.camera.renderFilter = new DynamicBSPRender(); - Удалены классы:
а) RenderFilter - класс содержал константы фильтров рендеринга, но т.к. теперь рендер фильтры назначаются камерам, а не сцене, необходимость в этом классе отпала;
б) BboxName - класс содержал константы ограничивающих примитивов, но т.к. движок стал использовать только два типа ограничивающих примитивов (прямоугольный параллелепипед и эллипс), необходимость в этом классе отпала;
в) LoaderI3D - загрузчик моделей в формате I3D временно удален из интернет версии; - Заполнен класс генерирующий ошибки, возникающие при работе с движком, а также подсказки.
Об ошибках framework сообщает в таком виде:
Class:Класс в котором произошла ошибка; Metod: Метод в котором произошла ошибка (или Setor: Сетор в котором произошла ошибка); Error: Описание ошибки; - Удален метод setDefaultMaterial из класса Surface, т.к. он дублировал уже имеющийся функционал.
- О всех остальных незначительных изменениях вы можете узнать из документации.
Привет! Я что то не понял немного мы присваиваем камере рендер фильтр но при рендеринге передаем опять камеру?
Camera3D.renderFilter : Render
DynamicBSPRender.render(camera:Camera3D, view:View, scene:Scene3D):void
странный немного подход…
best, спасибо за пометку.
Есть такой нюанс, один рендер фильтр можно назначать неограниченному количеству камер! Значит фильтр не знает какой он камере принадлежит, ему об этом сообщает камера которая им в данный момент пользуется.
Вот визуальный пример:
var render:Render = new DynamicBSPRender();
var camera0:Camera3D = new Camera3D(”Camera0″);
camera0.renderFilter = render;
var camera1:Camera3D = new Camera3D(”Camera1″);
camera1.renderFilter = render;
var camera2:Camera3D = new Camera3D(”Camera2″);
camera2.renderFilter = render;
render = new BaseRender();
интересный подход )