title: GLSL Vertex Shader lookup-table question
body: <p>I've got some difficulty debugging my program. I'm trying use an array as a lookup table to offset the vertex location in my vertex shader, but I can't even tell if I'm linking my array correctly. The offset factor always ends up zero (flattening my vectors, rather than giving them a shape), so either I'm accessing the texture1D coordinates wrong or the array isn't binding right to the texture.</p>
  
  <p>Frankly, I don't know which coordinates I should be using to get the values from a 1D texture... but I've tried all the combinations.</p>
  
  <p>Here I setup the array and bind it to the shader:</p>
  
  <pre><code>//FISH
  GLfloat fish_coords[100];
  for (int i = 0; i &lt; 50; i++){fish_coords[i] = 0;}
  for (int i = 50; i &lt; 100; i++){fish_coords[i] = 1;}
  glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
  glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
  
  glGenTextures(1, &amp;fishtexture);  
  glBindTexture(GL_TEXTURE_1D, fishtexture);
  glTexImage1D(GL_TEXTURE_1D, 0, 1, 128,0,GL_RGBA, GL_UNSIGNED_BYTE, &amp;fish_coords);
  
  switch(shadow_selection){
  case 0: 
      vertexShader = "fish.vert";
      fragmentShader = "fish.frag";
      setShaders();
  
      GLint loc1;
      loc1 = glGetUniformLocation(shaderProgram,"fish_coords");
      glUniform1i(loc1,0);    
  </code></pre>
  
  <p>And my vertex shader:</p>
  
  <pre><code>uniform float spec_factor;
  uniform sampler1D fish_coords;
  
  varying vec3 lightDir,normal;
  
  void main()
  {
  
      vec4 v_pos;
      vec3 ldir;
  
      gl_TexCoord[0] = gl_MultiTexCoord0;
  
      v_pos = gl_ModelViewMatrix * gl_Vertex;
      ldir = vec3(gl_LightSource[0].position-v_pos);
      lightDir = normalize(ldir);
      normal = normalize(gl_NormalMatrix * gl_Normal);
  
      vec4 offset;
      offset = texture1D(fish_coords, gl_TexCoord[0].r);
  
      vec4 fish_shape;
      fish_shape.xz = gl_Vertex.xz;
      fish_shape.y = gl_Vertex.y * offset.x;
      fish_shape.w = 1;
  
      gl_Position = gl_ModelViewProjectionMatrix * fish_shape;
  }
  </code></pre>