Cómo utilizar OpenGL en Qt5
1. Cambios importantes en el módulo OpenGL en Qt5
1
En Qt5, se agrega una nueva clase QOpenGL* para reemplazar la clase QGL* anterior.
Tenga en cuenta que, aunque todavía podemos usar clases QGL* a través del módulo OpenGL en Qt5, se recomienda encarecidamente usar clases QOpenGL* en lugar de clases QGL* en nuevas aplicaciones Qt.
Cómo utilizar OpenGL en Qt5
2
Además, en Qt5, OpenGL se ha integrado en el módulo Gui. Por lo tanto, si queremos utilizar clases y funciones relacionadas con OpenGL, solo necesitamos incluir el módulo gui en el archivo del proyecto .pro. No es necesario incluir opengl como antes.
Cómo usar OpenGL en Qt5
END
2. Cómo usar OpenGL en Qt5
Ahora, usemos un ejemplo práctico. Demuestra cómo usar OpenGL con Qt5. En este ejemplo, para que sea más fácil de entender para todos, solo creamos una ventana OpenGL simple con un fondo negro. El siguiente es el diagrama de efectos de ejecución del programa.
Cómo usar OpenGL en Qt5
Primero, necesitamos crear una clase de ventana personalizada Window. Hay dos clases padres de esta clase:
1) QOpenGLWindow: heredada en modo público
2) QOpenGLFunctions: heredada en modo protegido
Además, en general En este caso, también necesitamos implementar tres funciones virtuales heredadas de la clase principal:
1) void inicializeGL()
2) void resizeGL(int ancho, int alto) // Si no es necesario procesar el alto y el ancho, esta función se puede omitir
3) void paintGL()
Cómo usar OpenGL en Qt5
Entonces, implementemos lo anterior La función declarada.
1) inicializarGL
Esta función se utiliza para inicializar el entorno OpenGL actual.
Tenga en cuenta que en esta función, debemos llamar a la instrucción inicializeOpenGLFunctions(); para que Qt pueda completar la inicialización del entorno OpenGL en segundo plano.
Luego, use la función glClearColor para establecer el color claro. Los primeros tres parámetros de esta función son los valores de los componentes rojo, verde y azul, y el cuarto parámetro es el valor de transparencia.
Cómo usar OpenGL en Qt5
2) resizeGL
Esta función se utiliza principalmente para realizar algunos cambios en el alto y el ancho. Por supuesto, si no tienes ninguna necesidad especial, no tienes que ocuparte de esta función.
Cómo usar OpenGL en Qt5
3) paintGL
Esta función es la más destacada y el dibujo generalmente se realiza dentro de esta función. Aquí, como demostración, simplemente limpiamos el fondo de la ventana usando el color claro que configuramos anteriormente.
Cómo usar OpenGL en Qt5
Finalmente, agregamos un archivo main.cpp, creamos un nuevo objeto de clase Window en la función principal y luego lo mostramos. Ajá, mirando todo el proceso, ¿no es muy fácil usar OpenGL en Qt5 en comparación con versiones anteriores de Qt?
Cómo utilizar OpenGL en Qt5