title: Difference between glColor3f and glColor3d
body: <p>The code I'm working on, in a nutshell, uses OpenGL to represent data (stored as double) as the colour of some geometry. Using the default colour shading between vertices it then samples back the colour over the geometry to see the values at different pixels and convert them back to my data. Currently it's done using 1D texture mapping, such that any value I draw and sample back can be exactly located on a scale. However since the data I'm working with is stored as a double, a lot of precision is lost when all values drawn and sampled back are mapped on a 14-bit texture map.</p>
  
  <p>So to address that issue, now I'm implementing the code using floating-point colour.
  I'm using an FBO with a GL_RGBA32F renderbuffer colour attachment. The thing which I don't understand is <b>what will change if I set the colour of my vertices using glColor3d versus glColor3f</b>.
  If I'm understanding correctly, with a single precision floating point renderbuffer, the values I sample back for RGB will basically be GLfloat type, not GLdouble.</p>
  
  <p>Also, is there any way I can configure my renderbuffer such that I can draw with GLdouble colour values and be able to sample back GLdouble values? Looking at the <a href="https://www.khronos.org/registry/OpenGL/specs/gl/glspec45.core.pdf" rel="nofollow noreferrer">OpenGL 4.5 spec p198</a> there aren't any colour formats with more than 32f precision per clour channel. From my understanding, double precision colour is fairly modern tech only supported on newer systems, which only confuses me more about the presence of glColour3d.</p>