Libgdx how to send arrays to Shader

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?