Strumenti Utente



tutorial_qt:opengl_01bis

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
Prossima revisione
Revisione precedente
tutorial_qt:opengl_01bis [2015/01/22 17:04]
mickele
tutorial_qt:opengl_01bis [2015/05/05 14:43] (versione attuale)
mickele
Linea 1: Linea 1:
-====== Qt e Opengl: Intro alla classe QOpenGLWidget ======+====== Qt e OpenGL - Intro alla classe QOpenGLWidget ======
  
-Nel [[tutorial_qt:opengl_01|primo articolo su Qt5 e le Opengl]] abbiamo cominciato a vedere come utilizzare la nuova infrastruttura Opengl introdotta nelle Qt5 derivando dalla classe QWindow. Abbiamo anche evidenziato che la classe QGLWidget già presente nelle Qt4, benché ancora presente in Qt5, è stata dichiarata obsoleta, senza che ne venisse fornito un vero e proprio sostituto. Questo è stato vero fino alla versione 5.4 con cui finalmente la vecchia QGLWidget è stata aggiornata alla nuova infrastruttura, diventando QOpenGLWidget.+Nel [[tutorial_qt:opengl_01|precedente articolo su Qt5 e le Opengl]] abbiamo cominciato a vedere come utilizzare la nuova infrastruttura Opengl introdotta nelle Qt5 derivando dalla classe QWindow. Abbiamo anche evidenziato che la classe QGLWidget già presente nelle Qt4, benché ancora presente in Qt5, è stata dichiarata obsoleta, senza che ne venisse fornito un vero e proprio sostituto. Questo è stato vero fino alla versione 5.4 con cui finalmente la vecchia QGLWidget è stata aggiornata alla nuova infrastruttura, diventando QOpenGLWidget.
  
 ===== Quando usare QWindow e quando QOpenGLWidget ===== ===== Quando usare QWindow e quando QOpenGLWidget =====
Linea 105: Linea 105:
       m_program->release();       m_program->release();
   }   }
 +
 +Otterremo così il seguente risultato
 +
 +{{ :tutorial_qt:opengltut01bis-01.png | Il risultato del codice riportato nel paragrafo}}
  
 Se confrontiamo il codice appena scritto con [[[[tutorial_qt:opengl_01||quello necessario con la classe QWindow]] notiamo una decisa semplificazione, che nasce principalmente dalla maggiore specializzazione della classe QOpenGLWidget. Se confrontiamo il codice appena scritto con [[[[tutorial_qt:opengl_01||quello necessario con la classe QWindow]] notiamo una decisa semplificazione, che nasce principalmente dalla maggiore specializzazione della classe QOpenGLWidget.
Linea 128: Linea 132:
   ...   ...
   painter.end();   painter.end();
-  + 
 +{{ :tutorial_qt:opengltut01bis-02.png |Un esempio di cosa si può fare mescolando comandi opengl alla classe QPainter}} 
 + 
 +Nell'usare tale tecnica bisgona tener conto di un dettaglio: ogni volta che creiamo QPainter, viene reimpostato il contesto opengl. Questo vuol dire che eventuali stati che sono stati impostati nel metodo initializeGL() vengono resettati. 
 Al link [[http://ingegnerialibera.altervista.org/blog-file/opengltut01bis.zip|ingegnerialibera.altervista.org/blog-file/opengltut01bis.zip]] trovate un progetto riassuntivo di quanto visto nell'articolo. Al link [[http://ingegnerialibera.altervista.org/blog-file/opengltut01bis.zip|ingegnerialibera.altervista.org/blog-file/opengltut01bis.zip]] trovate un progetto riassuntivo di quanto visto nell'articolo.
  
 +===== Potrebbero interessarti anche... =====
 +
 +Un elenco degli altri articoli disponibili sull'argomento:
 +<blog related>
 +</blog>

tutorial_qt/opengl_01bis.1421942661.txt.gz · Ultima modifica: 2015/01/22 17:04 da mickele

Facebook Twitter Google+ Digg Reddit LinkedIn StumbleUpon Email