• 5727阅读
  • 1回复

很奇怪的: 关于 OpenGL drawing in a QGraphicsView. [复制链接]

上一主题 下一主题
离线superwave
 
只看楼主 正序阅读 楼主  发表于: 2012-07-01
通过在QGraphicsScene的 drawBackground(), 我给QGraphicsScene增加两个QGraphicsRectItem , 其中一个item是在左上角(有四个按钮对话框), 另外一个在右上角(一个黄色太阳)


所有opengl的代码都写在QGraphicsScene的 drawBackground()里.
如果代码如下:



MTList=glGenLists(1);
glEnableClientState(GL_VERTEX_ARRAY);
Vertex_iterator vi = model.vertices_begin();
glVertexPointer(3, GL_DOUBLE, sizeof(Vertex), &(vi->point()[0]));
glDisable(GL_LIGHTING);
glNewList(MTList, GL_COMPILE);
glColor3f(1.0,0.0,1.0);
//glLineWidth(10.0);
//glDisable(GL_CULL_FACE);
//glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
glDrawElements(GL_POINTS, 3*model.size_of_facets(), GL_UNSIGNED_INT, &modelfaces[0]); glEndList();
glDisableClientState(GL_VERTEX_ARRAY);


显示正确:


然而,当我启用这一行代码:glPolygonMode(GL_FRONT_AND_BACK, GL_LINE):


两个item(四按钮窗口和黄色太阳就变形了):


为什么会这样呢?
离线superwave
只看该作者 1楼 发表于: 2012-07-01
I revised the line to : glPolygonMode(GL_BACK, GL_LINE);  the problem still exists,

HHHOoooWWwwever, glPolygonMode(GL_FRONT, GL_LINE); sloved the problem and the two items come out to be as expected.

Why?
快速回复
限100 字节
 
上一个 下一个