QT

Qt é uma API usada para o desenvolvimento de interfaces gráficas em C++. Ela pertencia a trolltech e atualmente está em posse da Nokia. São duas as licenças de Qt, uma opensource para uso não comercial e uma paga para desenvolvimento comercial.

logo.png
Logo do Qt. Extraído de http://qt.nokia.com/products/.

Exemplos

Qt + OpenGL

Para usar OpenGL com Qt basta criar um Widget que estenda a classe QGLWidget e sobreescrever os métodos initializeGL, paintGL e resizeGL. Além disso é importante acrescentar no seu arquivo.
Se você estiver usando o QtCreator você deverá criar uma aplicação Qt e no arquivo .pro acrescenter "opengl" junto à lista das bibliitecas Qt usadas. Segue o link para um projeto Qt + OpenGL (OGL pré 3.0) feito usando o QtCreator: http://www.4shared.com/zip/116AgWAP/TesteOpenGL.html.

Qt + OpenGL 3 Core Profile

Segue em anexo o link para baixar um exemplo de código OpenGL 3 Core Profile + Qt
http://www.4shared.com/zip/eOslQWvX/TestOpenGLCore.html
Observações:

  • Para usar Qt com um contexto núcleo OpenGL 3.0+ é necessário usar a versão 4.8 ou mais recente do Qt.
  • A especificação OpenGL determina que um perfil núcleo OpenGL deve ter pelo menos um VAO (vertex array object) ligado à aplicação. Isto é feito a partir de funções como glGenVertexArrays e glBindVertexArray que não estão disponíveis nas classes que o Qt fornece para lidar com OpenGL. Estas funções devem ser adquiridas por meio de uma biblioteca de carga de extensões OpenGL ou usando as funções especificas de SO para este fim como glxGetProcAddress e wglGetProcAddress. No exmplo dado eu acabei misturando o Glew + a função de carga de extensões OpenGL do Linux (glxGetProcAddress), o que não é uma coisa interessante, tampouco elegante. Se você for compilar isto em Windows ou ainda mesmo no Linux minha dica é usae uma API como o glew, o Biggle ou outra para carregar extensões e que esteja disponível para a sua plataforma.
  • Este tutorial foi baseado em: http://qt-project.org/wiki/How_to_use_OpenGL_Core_Profile_with_Qt

Links

http://www.youtube.com/watch?v=XzZH2uC8tWs tutorial de Qt + OpenGL (em português)

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.