Sooo, I’m trying to send some light data to libgdx as arrays, but I cannot seem to be able to do anything, because all the values always are 0.
So I have these 2 arrays in my shader, and a vec4 not array to test if it works:
uniform vec4 shaderColor;
uniform vec3[64] lights;
uniform vec3[64] lightColors;
With this code, I can send data to Shader and it works:
int loc = shader.getUniformLocation("shaderColor");
shader.setUniform4fv(loc, new float[] { 1f, 1f, 1f, 1f }, 0, 4);
But this just doesn’t work. Values in those array are always 0.
float[] lights = { 100f, 100f, 1f, 300f, 300f, 1f };
int loc = shader.getUniformLocation("lights");
shader.setUniform3fv(loc, lights, 0, lights.length);
loc = shader.getUniformLocation("lightColors");
float[] lightColor = { 1f, 1f, 1f };
shader.setUniform3fv(loc, lightColor, 0, lightColor.length);
Is it even possible to send arrays to Shaders through Libgdx?