我目前正在使用 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 的错误还是有什么,我错过了或者我可以尝试的另一种可能性?