[英]implement OpenGL commend in Qt QGraphicsItem
我重新實現QGraphicsItem :: paint,並使用opengl進行繪制。 但是opengl的推薦是行不通的。 沒有任何錯誤。 我不知道為什么
#include <QtOpenGL>
#include <qwidget.h>
#include <qgraphicsitem.h>
#include <qpainter.h>
#include <qdebug.h>
class ImageGraphicsItem : public QGraphicsItem
{
public:
QRectF boundingRect(void) const
{
return QRectF(0, 0, 100, 100);
}
void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
{
qDebug() << "gl run";
painter->fillRect(0,0,128,128,Qt::green);
painter->beginNativePainting();
glEnable(GL_SCISSOR_TEST);
glScissor(0, 0, 64, 64);
glClearColor(1, 0, 0, 1);
glClear(GL_COLOR_BUFFER_BIT);
glDisable(GL_SCISSOR_TEST);
glEnd();
painter->endNativePainting();
}
private:
};
用戶界面如下:
確保視口是QGLWidget,以便在我們的圖形場景中進行OpenGL渲染,這是一個示例:
QGraphicsView view(&scene);
view.setViewport(new QGLWidget(QGLFormat(QGL::SampleBuffers)));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.