OpenGL Colour Interpolation

Posted by Will-of-fortune on Stack Overflow See other posts from Stack Overflow or by Will-of-fortune
Published on 2012-11-03T16:14:55Z Indexed on 2012/11/03 17:01 UTC
Read the original article Hit count: 304

Filed under:
|

I'm currently working on an little project in C++ and OpenGL and am trying to implement a colour selection tool similar to that in photoshop, as below.

enter image description here

However I am having trouble with interpolation of the large square. Working on my desktop computer with a 8800 GTS the result was similar but the blending wasn't as smooth.

This is the code I am using:

GLfloat swatch[] = { 0,0,0, 1,1,1, mR,mG,mB, 0,0,0 };
GLint swatchVert[] = { 400,700, 400,500, 600,500, 600,700 };

glVertexPointer(2, GL_INT, 0, swatchVert);
glColorPointer(3, GL_FLOAT, 0, swatch);
glDrawArrays(GL_QUADS, 0, 4);

Moving onto my laptop with Intel Graphics HD 3000, this result was even worse with no change in code.

http://i.imgur.com/wSJI2.png

I thought it was OpenGL splitting the quad into two triangles, so I tried rendering using triangles and interpolating the colour in the middle of the square myself but it still doesnt quite match the result I was hoping for.

enter image description here

Any help would be appreciated. Thanks.

© Stack Overflow or respective owner

Related posts about opengl

Related posts about interpolation