I am trying to draw a gradient line.
This does not work:
glBegin(GL_LINES)
glColor3f(r, g, b)
glVertex2f(x, y)
glColor3f(r2, g2, b2)
glVertex2f(x2, y2)
glEnd()
Any other method for getting a smooth gradient?
I am trying to draw a gradient line.
This does not work:
glBegin(GL_LINES)
glColor3f(r, g, b)
glVertex2f(x, y)
glColor3f(r2, g2, b2)
glVertex2f(x2, y2)
glEnd()
Any other method for getting a smooth gradient?
Need more info. ‘This does not work’ is a little vague.
What happens when you run this? Do you see anything?
If so, what do you see? Can you post a picture?
well you’re just drawing a line from left to right, hard to see a 1 pixel long line. try a GL_TRIANGLE or GL_QUADS instead of GL_LINES so
glBegin(GL_QUADS)
glColor3f(r, g, b)
glVertex2f(x, y) //Top Left
glColor3f(r2, g2, b2)
glVertex2f(x2, y2)//Top Right
glColor3f(r2, g2, b2)
glVertex2f(x2, y + 20) //Bottom right
glColor3f(r, g, b)
glVertex2f(x, y2 + 20)//Bottom Left
glEnd()
if the gradient works, then you can go back to GL_LINES (since now you know it work, just hard to see)
Note I did not test this code. So take it with a grain of salt.
When using both my example code and hugo_the_dwarfs the line/quad is drawn solid in the last set glColor3f…
That suggests that glShadeModel(GL_FLAT) is in effect. Use glShadeModel(GL_SMOOTH) to change it back.
Thank you very much, this was indeed the problem!