- glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT or GL_STENCIL_BUFFER_BIT); //Farb und Tiefenpuffer löschen
- glLoadIdentity;
- gltranslate(0,0,-4);
- glrotate(scrot,1,0,0);
- glrotate(rot,0,1,0);
- glenable(gl_cull_face);
- glfrontface(gl_CCW);
- glcullface(gl_back);
- drawwuerfel;
- gldisable(gl_cull_face);
- glEnable(GL_STENCIL_TEST);
- glStencilFunc(GL_ALWAYS, 1, 1);
- glStencilOp(GL_Keep, GL_incr, GL_Keep);
- glColorMask(false, false, false, false);
- glenable(gl_cull_face);
- glcullface(gl_front);
- glfrontface(gl_CCW);
- gltranslate(-0.4,0,0);
- glscale(1.5,0.5,0.5);
- drawwuerfel;
- glStencilOp(GL_Keep, GL_Decr, GL_Keep);
- glcullface(gl_back);
- drawwuerfel;
- glColorMask(True, True, True, True);
- glStencilFunc(GL_EQUAL, 1, 1);
- glStencilOp(GL_Keep, GL_KEEP, GL_KEEP);
- glcullface(gl_front);
- gldisable(gl_depth_test);
- drawwuerfel;
- glenable(gl_depth_test);
- gldisable(gl_stencil_test);
- gldisable(gl_cull_face);
- SwapBuffers(form1.myDC); //scene ausgeben
- end;