title: OpenGL lights, textures, etc. correct way?
body: <p>Until this moment I've only implemented all the effects in GLSL shaders using inputs, outputs and uniforms, except for a couple of really essential constants like <code>gl_Position</code>, etc. I've read several tutorials, had a lecture on computer graphics and everytime all they implement things by looking at physical model and calculating all the stuff using input values and uniforms. That is a kind of the way I thought it all works.</p>
  
  <p>Now I faced the fact, that there are much more GLSL things, like <code>glLight*</code> API functions and <code>gl_LightSource</code>, <code>gl_Texture</code> constants in GLSL with a big set of light types and lighting models predefined. Seems to be a kind of different way of programming shaders.</p>
  
  <p>I wonder if there are any advantages/disadvantages using one or other way? Did I miss something very important? It looks I'm doing a lot of redundant work.</p>