Переход с Three.js на Pixi.js
После череды полезных задач захотелось заняться тем чего душа давно просит, а именно – снова переписать рендерер. На этот раз с ThreeJS на PixiJS.
Я уже давно для себя решил, что движок делается исключительно под 2D иначе мне и на пенсии времени не хватит чтобы привести его в более менее солидное состояние. ThreeJS удобный, есть документация, да и исходники достаточно понятные, но работать с 2D через абстракции разработанные для отрисовки трехмерной графики оказалось избыточным. Кто бы мог подумать.
Решение использовать ThreeJS было продиктовано желанием пощупать библиотеку, но сейчас, когда я захотел добавить в движок больше возможностей для отрисовки, требуется решить: либо сильнее завязываться на использование ThreeJS, либо использовать более подходящий инструмент пока еще не слишком поздно.
В планах добавить возможность рендерить геометрические фигуры, текст и фильтры для пост-обработки объектов и возможности навешивать на акторы кастомные шейдеры. Плюс к этому Pixi уже из коробки содержит множество оптимизаций и при схожем количестве кода для встраивания рендерера в движок я сразу же получил сильный прирост в производительности.
В этот раз я не буду закрывать библиотеку железным занавесом из фасадов чтобы при желании можно было получить прямой доступ к PixiJS контексту и использовать его возможности в полной мере. Немного опасно если потом я снова (надеюсь нет) решу переписать рендерер, но для небольших игр для гейм джемов – почему бы и нет.