If I have a simple OpenGL shader that is applied to many cubes at once, then uniform values get slow. I have noticed that things like glColor3f don't slow it down as much (at least from what I have tried) but am currently using glColor3f as a sort of hack so that the shader can read gl_Color and I can use it similarly to a uniform for determing which side of the cube is being rendered for face-indepent flat lighting.
I am using displaylists so I used glColor3f because it baked into the list, and simply did a different color before every face while creating the list. Now, I want to set more values (not in the displaylist this time) before rendering.
What calls from OpenGL can I do that can be read in the shader? I am needing to send 6 ints from 0-8 into the shader before rendering, but I could probably manage to shrink that later on.