Передать матрицу в шейдер
Всем привет, подскажите пожалуйста, я использую инстансинг меша, и хочу передать матрицу в шейдер, чтобы можно было любой из экземпляров повернуть или заскейлить, передать координаты позиции могу, но, хотел бы матрицу, подскажите, как правильно это сделать ? Спасибо
Ответы (1 шт):
Автор решения: Спицко Дмитрий
→ Ссылка
Матрицы обычно передаются в юниформы. В шейдере пишите в списке получаемых атрибутов юниформу
uniform mat4 u_Matrix;
Потом в программе перед драуколами устанавливаете значение. В libgdx вроде как-то так это делается
float[] matrix = new float[16];
program.setUniformf("u_Matrix", matrix_array);
Если не работали с юниформами, почитайте что это. В целом это что-то вроде статических переменных, один раз положили, в любом месте шейдера используете