The following snippet draws a gray square.

```
glColor3b(50, 50, 50);

glBegin(GL_QUADS);
glVertex3f(-1.0, +1.0, 0.0); // top left
glVertex3f(-1.0, -1.0, 0.0); // bottom left
glVertex3f(+1.0, -1.0, 0.0); // bottom right
glVertex3f(+1.0, +1.0, 0.0); // top right
glEnd();

```

In my application, behind this single square exists a colored cube.

What function should I use to make square (and only this square) opaque?
['https://Stackoverflow.com/questions/721705', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/47775/']
In the init function, use these two lines:

```
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

```

And in your render function, ensure that `glColor4f` is used instead of `glColor3f`, and set the 4th argument to the level of opacity required.

```
glColor4f(1.0, 1.0, 1.0, 0.5);

glBegin(GL_QUADS);
glVertex3f(-1.0, +1.0, 0.0); // top left
glVertex3f(-1.0, -1.0, 0.0); // bottom left
glVertex3f(+1.0, -1.0, 0.0); // bottom right
glVertex3f(+1.0, +1.0, 0.0); // top right
glEnd();

```
glColor4f(float r,float g, float b, flaot alpha);  

(in your case maybe clColor4b)  

also make sure, that blending is enabled.  

(you have to reset the color to non-alpha afterwads, which might involve a glGet\* to save the old vertexcolor)