????????????????????????
????????????????????????3??????????????

??????????建????
void init()
{
glClearColor(0??0??1.0??0);
glClearStencil(0);
glClearDepth(1.0f);
glEnable(GL_STENCIL_TEST);
}
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT);//1
glLoadIdentity();
glTranslatef(0?? 0?? -20);
glStencilFunc(GL_NEVER??0x0??0xFF);  //2
glStencilOp(GL_INCR??GL_INCR??GL_INCR);//3
glColor3f(1.0f??1.0f??1.0f);
dRadius = 5.0*(sqrt(2.0)/2.0);
glBegin(GL_LINE_STRIP);
for (dAngel=0;dAngel<380.0;dAngel+=0.1)
{
glVertex2d(dRadius*cos(dAngel)??dRadius*sin(dAngel));
dRadius*=1.003;
}
glEnd();
glStencilFunc(GL_NOTEQUAL??0x1??0xFF);  //4
glStencilOp(GL_KEEP??GL_KEEP??KEEP); //5
glColor3f(1.0f??0.0f??0.0f);
glRectf(-5??-5??5??5);
????????е?1????3???????????????
?????????????????????????????????
????????????????????????????1.0
??????建??????????????????????0
??????е?2??3??????????????????????????????????????????????+1
???????????????????л???????????????????????????????????????????????????仯????????????????????????????1?????
?????????????????????????????????
????????????????????????????1.0
??????建??????????????????????1????????????????????????0
??????е?4??5?????????????????????????1??????????????????????????????+1
??????????????????????л??????(-5??-5??5??5)????Σ??????????????????????????????2?У???1??????1????????顣??0??????????????????????????????????????????????0???????????????????????滻???????????????滻?????????????0?????????????????????????????????????
???????????????(-5??-5??5??5)?????? ?????0?????????????????????????
????????????????????????????1.0
??????建??????????????????????1????????????????????????0