RSNF / learning-opengl

Repositório de práticas desenvolvidas durante a disciplina de Computação Gráfica, do 6º semestre do curso de Sistemas de Informação.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Learning OpenGL

O OpenGL é uma API livre utilizada na computação gráfica, para desenvolvimento de aplicativos gráficos, ambientes 3D, jogos, entre outros.

É possível utilizá-la em diversas IDEs, como o Dev-C++ e o Code::Blocks, mas vamos entender como fazer isso pelo Visual Studio Code.

Vamos lá! 😄

1° passo - Instalação do MSYS2:

  • Essa ferramenta vai ser útil para instalar os pacotes necessários para rodar os projetos com OpenGL.

  • Clique aqui para efetuar o download da ferramenta.

  • Ao final da instalação será aberta uma janela com um terminal, que é onde vamos digitar os comandos para instalação dos pacotes.

2° passo - Download do compilador e depurador:

  • Copie o comando abaixo e cole no terminal do MSYS2 para instalar o compilador de C/C++:
pacman -S mingw-w64-x86_64-gcc

Após finalizado, é necessário adicionar ao Path das variáveis de ambiente do sistema, o caminho da pasta bin do diretório de instalação do MinGW. Ele vai estar dentro da pasta de instalação do MSYS2. Caso você não tenha alterado, o diretório de instalação será o seguinte:

C:\msys64\mingw64\bin

Clicando neste link você pode ver como fazer essa alteração nas variáveis de ambiente.

Para confirmar se a instalação foi bem sucedida, abra o CMD e execute o comando g++ --version. Caso não retorne um resultado válido, reinicie o computador e tente executá-lo novamente.

  • Copie o comando abaixo e cole no terminal do MSYS2 para instalar o depurador, ele vai facilitar nossa vida no VS Code (essa instalação é opcional, o depurador só será útil no passo 6):
pacman -S mingw-w64-x86_64-gdb

Assim como o gcc, para confirmar se a instalação correu bem, você pode executar o comando gdb --version no CMD.

3° passo - Download dos pacotes do OpenGL:

  • Também no terminal do MSYS2, executaremos os comandos abaixo para instalação dos pacotes, esses vão demorar menos que o gcc, já que são menores.
pacman -S mingw-w64-x86_64-freeglut
pacman -S mingw-w64-x86_64-glew

Caso o projeto que você for executar exija outros pacotes, como o GLFW e SDL2, você pode pesquisar no próprio site do MSYS2 que vai encontrar as informações sobre eles e como instalá-los.

4° passo - Instalação e configuração do ambiente (Visual Studio Code)

  • Clique aqui para efetuar o download da IDE.

  • Finalizada a instalação, vá até a aba de extensões, procure e instale a seguinte: ms-vscode.cpptools.

  • Faça o download do arquivo casa.cpp disponível neste repositório, na pasta de exemplos.

  • Salve esse arquivo numa nova pasta e abra essa pasta no VS Code.

5° passo - Execução do projeto:

  • Abra um novo terminal, dentro do VS Code, e execute o seguinte comando:
g++ casa.cpp -o casa -lopengl32 -lfreeglut -lglu32 -lwinmm -lgdi32

Se tudo correr bem, será gerado um arquivo .exe, para abrí-lo basta chamar o próprio executável pelo terminal, digitando: ./casa.exe 🏠.

Com isso, já dá pra executar os projetos, mas pra evitar ter que ficar inserindo esses comandos via terminal toda vez, vamos dar uma "embelezada" no negócio...

6° passo - Opcional:

⚠️ Para os passos a seguir, mantenha o arquivo casa.cpp sempre aberto ao selecionar as opções do menu da IDE.

  • Preparação do build do código:
    • Acesse o menu Terminal > Configurar Tarefa de Build Padrão.
    • Selecione a opção do g++.
    • Será criado um arquivo tasks.json na pasta .vscode.
    • Dentro do parâmetro args, vamos acrescentar o seguinte:
"-lopengl32", "-lfreeglut", "-lglu32", "-lwinmm", "-lgdi32"

Através do atalho Ctrl + Shift + B ou por meio do menu Terminal > Executar Tarefa de Build, podemos gerar o arquivo .exe que vimos anteriormente (lembrando que o arquivo casa.cpp deve estar aberto). Isso já poupa um dos comandos que a gente estava usando no terminal, vamos para o próximo.

  • Execução do arquivo de build:
    • Acesse o menu Executar > Adicionar Configuração.
    • Selecione a opção C++ (GDB/LLDB).
    • Será gerado um arquivo launch.json na pasta .vscode.
    • Caso o arquivo gerado esteja com o parâmetro configurations vazio, você pode copiar o que está nesse repositório, ou seguir o passo descrito logo abaixo.

Uma outra forma de gerar esse arquivo é clicando no ícone da engrenagem (Adicionar a configuração de depuração), que está no canto superior direito da janela da aplicação, e selecionar a opção com o g++.

Com o arquivo criado, nos atentaremos aos seguintes parâmetros: program, miDebuggerPath e preLaunchTask.

program: vamos informar onde está o arquivo .exe, caso você tenha alterado o nome, é importante informar corretamente aqui. Normalmente mantemos o mesmo caminho da pasta principal, inserindo o seguinte: "${workspaceFolder}/casa.exe".

Esse caminho deve ser o mesmo informado no args do arquivo tasks.json, que deve aparecer algo como: "${workspaceFolder}/${fileBasenameNoExtension}.exe", indicando onde será gerado o arquivo .exe.

miDebuggerPath: vamos informar onde se encontra o depurador 'gdb.exe' que instalamos no passo 2, ele vai estar dentro da pasta bin do MinGW, mas caso você tenha alterado o diretório de instalação, se atente a isso.

preLaunchTask: vamos informar qual o nome (identificador) da tarefa de build que fizemos anteriormente, para isso vamos até o arquivo tasks.json e verificar o parâmetro label, é obrigatório que esses dois parâmetros tenham o mesmo valor nos dois arquivos, pode ser o nome que quiser, contanto que sejam iguais.

  • Configuração do compilador:
    • Salve todas as alterações nos arquivos de launch.json e tasks.json.
    • Pressione Ctrl + Shift + P e pesquise por C/C++: Editar Configurações(IU).
    • Altere o Caminho do compilador para aquele que informar o g++.
    • Caso tenha algum problema com o Modo do IntelliSense, altere para windows-gcc-x64.

Feito isso, agora é só alegria! 😄

Mantenha o arquivo casa.cpp aberto e pressione F5. Pronto, sucesso! 🚀

🔎 Referências

About

Repositório de práticas desenvolvidas durante a disciplina de Computação Gráfica, do 6º semestre do curso de Sistemas de Informação.


Languages

Language:C++ 76.8%Language:C 23.2%