Передать матрицу в шейдер

Всем привет, подскажите пожалуйста, я использую инстансинг меша, и хочу передать матрицу в шейдер, чтобы можно было любой из экземпляров повернуть или заскейлить, передать координаты позиции могу, но, хотел бы матрицу, подскажите, как правильно это сделать ? Спасибо


Ответы (1 шт):

Автор решения: Спицко Дмитрий

Матрицы обычно передаются в юниформы. В шейдере пишите в списке получаемых атрибутов юниформу

uniform mat4 u_Matrix; 

Потом в программе перед драуколами устанавливаете значение. В libgdx вроде как-то так это делается

float[] matrix = new float[16];
program.setUniformf("u_Matrix", matrix_array);

Если не работали с юниформами, почитайте что это. В целом это что-то вроде статических переменных, один раз положили, в любом месте шейдера используете

→ Ссылка