Criando uma Aplicação OpenGL com o Qt Creator
Ao se desenvolver uma aplicação OpenGL é preciso utilizar em conjunto alguma outra biblioteca para tratar de tarefas específicas como abrir uma janela e interagir com mouse e teclado. O problema é que normalmente estas outras bibliotecas são dependentes de sistema operacional.
Existem algumas alternativas para não ficar dependente de sistema operacional, das quais a mais conhecida é utilizar a GLUT, porém ela possui vários problemas. Dentre estes problemas, um dos piores é a necessidade de utilizar variáveis globais para criar a sua aplicação. Portanto, descartando a utilização da GLUT, uma outra abordagem é utilizar o framework Qt da Nokia.
Para contextualizar, será criada uma aplicação gráfica com OpenGL e Qt, onde a interface gráfica será criada utilizando o Qt Creator, que é uma IDE de código aberto que possui uma licença gratuita, inclusive para desenvolver aplicações comerciais.
A aplicação pode ser vista na figura abaixo e é bem simples. É basicamente um visualizador de polígonos, onde o usuário informa a quantidade de lados e o tamanho do raio através de dois sliders.
Este tutorial está dividido em três partes e como ele foi gravado em 720p é recomendado que você selecione esta opção e visualize em tela cheia.
Tutorial de OpenGL com Qt Creator (Parte 1)
Tutorial de OpenGL com Qt Creator (Parte 2)
Tutorial de OpenGL com Qt Creator (Parte 3)
Você pode baixar o código fonte do Projeto OpenGL com Qt.
Espero que tenham gostado deste tutorial. Comentários são bem vindos!

13 comentários
mutxu boum, mim agudô baztantxi!!!1111
Excelente. Só não precisava falar tão baixinho. ;)
@Leonardo – Obrigado. O vídeo original estava com o som normal, mas depois de enviar para o YouTube ficou mais baixo… Da próxima vez vou ter que tratar o som antes de enviar para o YouTube… Uma dica, você pode baixar o vídeo do YouTube e então utilizar o VLC que aumenta o som até chegar em 400%…
Massa o tutorial Marcio, ótimo pra conhecer o funcionamento da ferramenta :)
Muito bom mesmo. Fácil, bem explicado e direto. Há algum tempo que tento aprender o Qt, mas não consigo sair do lugar. Seu tutorial foi um divisor de águas pra mim. Valeu!
Tive uma dúvida agora: Após concluiro projeto, como faço para levar apaneas o executável e rodar em outra máquina? Na verdade, nem mesmo na própria máquina, o executável gerado no projeto roda.
Problema resolvido: Inclui as pastas bin do Qt no path das variáveis de ambiente.
@Cristiano – Fico feliz que tenha lhe ajudado bastante. Em relação a levar o seu executável para outra máquina é preciso levar junto as DLLs: mingwm10.dll e qtcore4.dll, no mínimo. Talvez seja necessário alguma outra DLL se você tiver utilizado mais recursos. Uma forma de saber quais DLLs você precisa, basta executar o programa numa máquina que não tenha as pastas do Qt no path, e então executar o programa. Assim, na mensagem de erro aparecerá qual DLL você precisa, então você copia para a mesma pasta do executável a DLL e repete o processo para saber se precisa de mais outra DLL, entendeu? Assim você tem o seu programa para ser redistribuído (Qt Redistributable).
Marcio muito bom o tutorial, estava procurando exatamente essa explicação que você deu a alguns meses pelo google, trabalhei com o devcpp porém ele não tem as mesmas opções que o QT proporciona e eu estava justamente atrás da utilização de Widget como ambiente OpenGL, queria saber se você tem algum tem um curso especifico de Computação Gráfica com OpenGL a distância, pois estou em brasilia mas me interesso muito pelo assunto.
@Fabio – Eu não tenho este curso de Computação Gráfica com OpenGL, apenas fiz este tutorial para que os meus alunos de Computação Gráfica da Universidade Católica de Pernambuco pudessem utilizar mais facilmente o Qt para fazer o projeto da disciplina. Obrigado pelo comentário.
Marcio, show de bola a video aula!
De fato, é bem melhor que usar GLUT! :D
Abraços e até breve!!
Mácio… Parabens pelo tutorial. =)
Muito bom!
Ótimo tutorial, parabens..
Viva o Qt e Qt Creator.
Pra mim são ás melhores ferramentas para c/c++ da atualidade..
Abraço.
Deixe um Comentário