2011-10-14 81 views
6

我有一個包含QML項目佈局的QML文件,現在我希望其中的一個項目是QGLWidget。即我想呈現給特定的QML項目。OpenGL渲染到QML項目

有誰知道如何做到這一點?

回答

3

我認爲它最簡單的方式是爲QML提供一個用C++實現的新定製組件。我找不到任何準備好的東西。

在使用QPainter::beginNative()函數之後,您可以繼承QDeclarativeItem並在paint函數中實現您的OpenGL代碼。之後,您可以將新定製商品「導出」到QML this way。這是很簡單,應該工作,但你必須設置你的視QDeclarativeView是一個QGLWidget來繪圖,像這樣:

QDeclarativeView view; 
// This is needed because OpenGL viewport doesn't support partial updates. 
view.setViewportUpdateMode(QGraphicsView::FullViewportUpdateMode); 
view.setViewport(new QGLWidget); 

,或者你將不得不使用的OpenGL圖形系統,爲整個應用。 另一種方法是使用QML/3D

This thread會給你一些其他的信息。

+0

QML/3D文檔的鏈接已更改,我已更新它。 –