簡體   English   中英

在Qt QGraphicsItem中實現OpenGL推薦

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM