Thanks… but I’m still having issues with this. I can at least stencil out my triangle fan… but it’s not rending “only” the concave polygon.
In the below image, you can see the intended polygon (outlined in red), and that the green goes outside my polygon contour and fills my entire triangle fan. I just want to fill the outlined red area.
Does anyone see any glaring issues with my code? Thanks again everyone…

Here’s my code:
glClearStencil(0);
glEnable(GL_STENCIL_TEST);
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
glStencilFunc(GL_NEVER, 0, 1);
glStencilOp(GL_INVERT, GL_INVERT, GL_INVERT);
DrawPolyon(); // Just draws using triangle fan
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
glStencilFunc(GL_EQUAL, 1, 1);
glStencilOp(GL_ZERO, GL_ZERO, GL_ZERO);
glColor3f(0.0, 1.0, 0.0);
glBegin(GL_QUADS); // Draw big green box over polygon area
glVertex3f(-200.0f,-200.0f, -0.0f);
glVertex3f( 200.0f,-200.0f, -0.0f);
glVertex3f( 200.0f, 200.0f, -0.0f);
glVertex3f(-200.0f, 200.0f, -0.0f);
glEnd();
glDisable(GL_STENCIL_TEST);
glColor3f(1.0, 0.0, 0.0);
glBegin(GL_QUADS);
glVertex3f(xth-0.25f, yth-0.25f, 1.0f);
glVertex3f(xth+0.25f, yth-0.25f, 1.0f);
glVertex3f(xth+0.25f, yth+0.25f, 1.0f);
glVertex3f(xth-0.25f, yth+0.25f, 1.0f);
glEnd();