void render(Matrix4f mvp, Cube cube) {

		glUseProgram(shader);

		glUniform1i(glGetUniformLocation(shader, "U_CUBELET_HIT"), cube.hover.cubelet);
		glUniform1i(glGetUniformLocation(shader, "U_FACE_HIT"), cube.hover.faceId);

		for(int i = 0; i != 27; i++) {
			glUniform1i(glGetUniformLocation(shader, "U_CUBELET"), i);
			renderCubelet(cube.cubelets[i], Matrix4f.mul(mvp, cube.transformation, null));
		}

		glUseProgram(0);
	}