
O foco está na facilidade de uso, extensibilidade, desempenho e fornecimento de recursos de renderização para ambientes de escala do planeta, permitindo jogos e simulações espaciais.
ET significa "Extra Terrestial" devido à meta para que essa tecnologia vá ao espaço um dia.
Este projeto está sob desenvolvimento ativo e, embora uma ampla gama de recursos seja implementada e a arquitetura geral esteja se aproximando de um estado coesivo, muitas das melhorias planejadas provavelmente tocarão uma grande travessia da base de código. Portanto, enquanto as mudanças de quebra são geralmente implementadas em ramificações separadas, a interface na ramificação principal muda com relativamente frequência.



A renderização é baseada em diretores modernos, incluindo renderização fisicamente baseada. O sistema de material acionado por dados permite shaders personalizados e herança de parâmetros por meio de instâncias materiais (semelhante ao UE4). Uma variedade de recursos de renderização destinada à simulação espacial foi implementada, como geração de terrenos do planeta, espalhamento atmosférico e campos de estelar com base em dados reais do céu.

O projeto é dividido em várias bibliotecas. Bibliotecas de baixo nível, como o núcleo ou a renderização, podem ser usadas independentemente das outras de alto nível, como a estrutura. Muitos recursos têm interfaces e implementações, permitindo a substituição da funcionalidade. Se você deseja implementar seu próprio renderizador ou suportar um sistema de arquivos diferente, você pode fazer isso.
Muitas seções críticas de desempenho foram programadas com aspectos como a localidade de cache em mente. O renderizador usa uma estrutura de cena otimizada e pode operar independentemente da cena lateral da jogabilidade. Os recursos de jogo são implementados usando um sistema de componentes de entidade baseado em arquétipo.
Qualquer coisa que não seja um comportamento pode ser descrita com dados. O gerente de recursos permite tipos de ativos personalizados. A reflexão das estruturas de dados permite a serialização automatizada e a desserialização do conteúdo. O editor de trabalho em andamento permitirá fácil edição e controlar o fluxo de trabalho das ferramentas de criação de conteúdo para os formatos otimizados do motor.

Para o Visual Studio 2017:
git clone https://github.com/Illation/ETEngine
cd ETEngine/Projects/Demo
cmake -G "Visual Studio 15 2017 Win64" -S . -B build
cmake --build build --target all --config Develop
cmake --build build --target install
cmake --build build --target cook-installed-resources-EtEngineDemo
Para obter mais informações (incluindo testes de unidade e culinária de conteúdo), verifique a documentação da criação.
Devido a um problema com as dependências da biblioteca, o CI não está funcionando atualmente. No entanto, o projeto foi construído fora dos scripts de construção automatizados e funciona muito bem.
Este projeto começou em 2016 como uma estrutura de gráficos OpenGL baseada no "Overlord Engine" (DX11) do curso de programação gráfico na Howest University
Paralelamente, eu estava escrevendo meu trabalho de graduação na renderização do planeta em tempo real e, em 2017, mesclei os dois projetos nesse mecanismo.
Desde então, adicionei uma variedade de gráficos e recursos de jogo, no entanto, devido ao design no momento em que isso estava ficando cada vez mais difícil.
Portanto, a partir de 2019, o foco principal tem sido melhorar a arquitetura e o foco na usabilidade e extensibilidade, e a base de código foi quase completamente reescrita desde então.
0,0:
0.1:
0.2:
0.3:
0.4:
0,5:
0.6:
0.7:
Para uma lista de bibliotecas e licenças de terceiros, verifique aqui.






