1 Configuração do ambiente
Neste capítulo veremos como configurar o ambiente de desenvolvimento para realizar as atividades práticas no computador. Qualquer que seja a plataforma – Linux, macOS ou Windows – será necessário instalar as seguintes ferramentas e bibliotecas conforme as instruções que veremos nas próximas seções:
- CMake, para automatizar a geração de scripts de compilação e ligação de forma independente de plataforma.
- Emscripten, para compilar código C++ e gerar binário em WebAssembly de modo a executar as aplicações no navegador.
- Git, para clonar do GitHub o repositório do SDK do Emscripten e da biblioteca de desenvolvimento que usaremos na disciplina. Também é recomendável usar o Git para o controle de versão das atividades que serão feitas ao longo do quadrimestre.
- GLEW, para carregamento das funções da API gráfica OpenGL.
- Simple DirectMedia Layer (SDL) 2.0, para gerenciamento de dispositivos de vídeo, dispositivos de entrada, áudio, entre outros componentes de hardware.
- SDL_image 2.0, para leitura de arquivos de imagem.
Precisaremos também de um compilador recente com suporte a C++20, como o GCC 11, Clang 13, ou MSVC 19.
Acompanhe nas seções a seguir o passo a passo da instalação desses recursos de acordo com o sistema operacional utilizado:
- Seção 1.1 para instalação no Linux;
- Seção 1.2 para instalação no macOS;
- Seção 1.3 para instalar no Windows.
Não é necessário usar um IDE ou editor específico de código-fonte para o desenvolvimento das atividades. A compilação pode ser disparada através de scripts de linha de comando. Entretanto, como um exemplo, veremos na seção 1.4 como fazer a configuração básica do Visual Studio Code para o desenvolvimento de aplicações C++ com CMake.
Na seção 1.5 veremos como instalar o framework (ABCg) criado especialmente para esta disciplina. O framework será utilizado em todas as atividades do curso para facilitar o desenvolvimento das aplicações gráficas.
Preferencialmente, configure o ambiente de desenvolvimento no sistema operacional nativo. Entretanto, caso o seu computador tenha recursos de processamento e memória suficientes, é possível configurar todo o ambiente em uma máquina virtual.
O VMware Workstation Player (Windows e Linux) e VMWare Fusion Player (macOS) possuem suporte a aceleração gráfica 3D e são adequados para desenvolver as atividades da disciplina. Tanto o VMWare Workstation Player quanto o Fusion Player podem ser utilizados gratuitamente através de uma licença de uso pessoal.
O Windows Subsystem for Linux 2 (WSL 2) também suporta aceleração gráfica através do Direct3D 12.
É possível configurar o ambiente de desenvolvimento em um container Docker. Entretanto, o suporte a gráficos com aceleração de hardware exige o uso do Linux e do NVIDIA Container Toolkit, que só funciona com GPUs da NVIDIA.