
O mecanismo da Fling pretende ser um mecanismo de jogo Vulkan Cross que experimente o seguinte:
Existem algumas etapas básicas para compilar o arremesso em sua plataforma.
Este projeto requer cmake 3.13 ou superior, você pode instalá -lo aqui.
Este projeto usa GLFW, então você precisará instalar essas bibliotecas na sua máquina. O GLFW também depende de ter doxygen, então você também pode querer isso.
Ubuntu:
sudo apt-get update
sudo apt-get install doxygen
sudo apt-get install -y libglm-dev libxcb-dri3-0 libxcb-present0
sudo apt-get install -y libpciaccess0 libpng-dev libxcb-keysyms1-dev
sudo apt-get install -y libxcb-dri3-dev libx11-dev libmirclient-dev
sudo apt-get install -y libwayland-dev libxrandr-dev
sudo apt-get install -y libglfw3-dev
sudo apt-get install -y xorg-dev
Obviamente, este projeto está construído usando o Vulkan, então você precisará instalá -lo antes de compilar ou executar o programa.
Você pode baixar o SDK no site Lunarg aqui.
Se você estiver tendo problemas com o SDK Vulkan, confira alguns desses recursos:
Init.bat e Init.shDepois de instalar o SDK, você pode simplesmente executar um dos scripts fornecidos.
A execução de um desses scripts simplesmente obterá todos os submódulos e bibliotecas externas que o motor usa e criará uma pasta chamada build . A pasta build terá sua plataforma arquivos de construção específicos (Visual Studio, Makefiles, etc).
Para facilitar o desenvolvimento e a iteração, os caminhos de arquivo para ativos (shaders, texturas, modelos etc.) são todos os caminhos absolutos gerados pelo CMake. Se você deseja ter uma cópia do seu executável com caminhos de ativos em relação ao programa, gerar seus arquivos de projeto com cmake com este sinalizador:
cmake -DDEFINE_SHIPPING=ON -B build .
Observe que a opção -DDEFINE_SHIPPING está definida como ON . Isso define uma definição que você pode usar no C ++:
#ifdef FLING_SHIPPING
// Do some nice stuff
#else
// Do non-shipping code, perhaps with a lot of log messages
#endifSe você tiver contribuições ou correções que deseja contribuir, sinta -se à vontade para abrir um problema ou uma solicitação de tração! Fico feliz em falar sobre o projeto, então fique à vontade para me alcançar no Twitter ou aqui no Github. Eventualmente, um objetivo é ter alguns modelos de RP mais específicos/padrões de codificação, mas por enquanto isso não é uma prioridade.
Usamos uma estratégia de ramificação bastante básica. Faça uma ramificação de recurso fora do Main para algo como "Add-suport-for-x", e então esse recurso é feito e testado Crie uma solicitação de tração para colocá-lo no Main.
Criaremos ramificações estáveis de "liberação" e as marcaremos de acordo com as versões estáveis da compilação.
Alguns ótimos recursos são o Tutorial Vulkan e o repositório de Saschawillems com diferentes exemplos de vulkan