Кароч, причин целых штук пять с половиной:
1. Гвоздями прибит lua53 вместо luajit;
2. Нельзя использовать в качестве луёвой библиотеки;
3. Перегружено бешеным количеством каштомных функций, непонятно что происходит (lua_sol не лучше);
4. Объекты недостаточно объектные;
5. Несколько устаревшее (для raylib 2.6 вместо 3.0);
6. В базовой поставке, raylib очень халатно относится к памяти (плодит всякие векторы на каждый чих), я добавляю методов самоизменения, типа vec1:Add(vec2)
— в этом случае ничего не создаётся, а модифицируется vec1
. И это только один класс из десятка.
Но на vec1 + vec2
или ray.math.Vector2Add(vec1, vec2)
будет создаваться новый вектор, как по документации.
В оригинальном сишном варианте raylib'ы, поворот матрицы — это создание трёх матриц (rotate/scale/translate), и их перемножение (на каждое перемножение — создаётся новая матрица), вместо того чтобы взять существующую и повернуть. Это — крайняя халатность по отношению к памяти.