I am trying to show a colored quad on the 2D screen with the following code:
glColor3f(1.0f, 1.0f, 1.0f);
glVertex2f(300, 500); // vertex 1
glVertex2f(300, 300); // vertex 2
glVertex2f(600, 300); // vertex 3
glVertex2f(600, 500); // vertex 4
glColor3f(1.0f, 1.0f, 1.0f); // If I don’t put this, the whole screen become the previous color
Normally I would expect it to be full white, but I get an 50% gray. Is something with the blend function? Any clues what might be the problem?
Try adding this line before glColor3f:
But of course, check all of these:
Lighting, materials, normals, shading, textures, depth testing, blending, matrix transformations, etc…
I tried disabling the lighting but it doesn’t solve the problem.
I am getting some clues. Check these 2 images:
I am drawing the 2D shapes over my 3D scene, I want to eventually make a 2D HUD. So this is giving me the impression that the white of my quad is getting blended with the very last pixel drawn from the 3D scene. If I don’t show the floor, the quad become light blue like the sky dome. If I show the floor, it then becomes gray. The fire image I am displaying however is displaying fine. But this happen if I use the instruction glColor3f(1.0f, 1.0f, 1.0f);.
I somehow fixed the problem with
Just before drawing my shapes.