title: opengl version 1.2 api?
body: <p>Where can I find the documentations for OpenGL version prior to 2.0?
  On the website: opengl.org, they are only listing the new api's.</p>
  
  <p>My situation is: I've got this really only laptop that I'm developing on, and realized that some of opengl's methods were not available for this computer.</p>
  
  <p>So far, I've worked around some of the problem by testing against a condition of the users version. Those with newer than 2.0(inclusive) would be using the newer code, whereas those with versions prior to 2.0 would be using the ARB extended methods.</p>
  
  <p>Example:</p>
  
  <pre><code>if(m_glVersion&gt;2){//Integer value of your opengl version
      glGenBuffers(NUM_BUFFERS, m_vertexArrayBuffers);
      glBindBuffer(GL_ARRAY_BUFFER, m_vertexArrayBuffers[POSITION_VB]);
      glBufferData(GL_ARRAY_BUFFER, sizeof(model.positions[0]) * model.positions.size(), &amp;model.positions[0], GL_STATIC_DRAW);
      glEnableVertexAttribArray(0);
      glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0);
      glBindBuffer(GL_ARRAY_BUFFER, m_vertexArrayBuffers[TEXCOORD_VB]);
      glBufferData(GL_ARRAY_BUFFER, sizeof(model.texCoords[0]) * model.texCoords.size(), &amp;model.texCoords[0], GL_STATIC_DRAW);
      glEnableVertexAttribArray(1);
      glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 0, 0);
  
      glBindBuffer(GL_ARRAY_BUFFER, m_vertexArrayBuffers[NORMAL_VB]);
      glBufferData(GL_ARRAY_BUFFER, sizeof(model.normals[0]) * model.normals.size(), &amp;model.normals[0], GL_STATIC_DRAW);
      glEnableVertexAttribArray(2);
      glVertexAttribPointer(2, 3, GL_FLOAT, GL_FALSE, 0, 0);
  
      glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_vertexArrayBuffers[INDEX_VB]);
      glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(model.indices[0]) * model.indices.size(), &amp;model.indices[0], GL_STATIC_DRAW);
  }else{
      glGenBuffersARB(NUM_BUFFERS, m_vertexArrayBuffers);
      glBindBufferARB(GL_ARRAY_BUFFER, m_vertexArrayBuffers[POSITION_VB]);
      glBufferDataARB(GL_ARRAY_BUFFER, sizeof(model.positions[0]) * model.positions.size(), &amp;model.positions[0], GL_STATIC_DRAW);
      glEnableVertexAttribArrayARB(0);
      glVertexAttribPointerARB(0, 3, GL_FLOAT, GL_FALSE, 0, 0);
      glBindBufferARB(GL_ARRAY_BUFFER, m_vertexArrayBuffers[TEXCOORD_VB]);
      glBufferDataARB(GL_ARRAY_BUFFER, sizeof(model.texCoords[0]) * model.texCoords.size(), &amp;model.texCoords[0], GL_STATIC_DRAW);
      glEnableVertexAttribArrayARB(1);
      glVertexAttribPointerARB(1, 2, GL_FLOAT, GL_FALSE, 0, 0);
  
      glBindBufferARB(GL_ARRAY_BUFFER, m_vertexArrayBuffers[NORMAL_VB]);
      glBufferDataARB(GL_ARRAY_BUFFER, sizeof(model.normals[0]) * model.normals.size(), &amp;model.normals[0], GL_STATIC_DRAW);
      glEnableVertexAttribArrayARB(2);
      glVertexAttribPointerARB(2, 3, GL_FLOAT, GL_FALSE, 0, 0);
  
      glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER, m_vertexArrayBuffers[INDEX_VB]);
      glBufferDataARB(GL_ELEMENT_ARRAY_BUFFER, sizeof(model.indices[0]) * model.indices.size(), &amp;model.indices[0], GL_STATIC_DRAW);
  }
  </code></pre>
  
  <p><a href="http://www.songho.ca/opengl/gl_vbo.html" rel="nofollow">http://www.songho.ca/opengl/gl_vbo.html</a> provided some good source on mesh creating and deleting however, there is none available about shaders.</p>
  
  <p>Getting an error on: glCreateProgram, my current assumption is that it doesn't support version below 2.0. <a href="https://www.opengl.org/sdk/docs/man/html/glCreateProgram.xhtml" rel="nofollow">https://www.opengl.org/sdk/docs/man/html/glCreateProgram.xhtml</a></p>
  
  <p>I could not find an ARB version of this method. Is there one? Work-around?
  Thanks.</p>