我目前使用的是Qt5.1,并尝试在QGLWidget中绘制一些OpenGL内容:
void Widget::paintGL() {
startClipping(10, height()-110,100,100);
qglColor(Qt::red);
glBegin(GL_QUADS);
glVertex2d(0,0);
glVertex2d(500,0);
glVertex2d(500,500);
glVertex2d(0,500);
glEnd();
qglColor(Qt::green);
this->renderText(50, 50, "SCISSOR TEST STRING");
endClipping();
}
四边形被正确地裁剪,但文本没有被裁剪。我尝试了三种实现startClipping方法的方式:剪刀测试、将视口设置为裁剪区域和使用模板缓冲区。但是这些方法都没有奏效,整个字符串都被绘制出来,而不是在裁剪区域的边缘被截断。
现在我的问题是:这种行为是Qt的一个bug还是有我忽略的东西或者我可以尝试的其他可能性?