
L'accent est mis sur la facilité d'utilisation, l'extensibilité, les performances et la fourniture de fonctionnalités de rendu pour les environnements à l'échelle de la planète, permettant des jeux et des simulations spatiaux.
ET signifie "Extra Terrestial" en raison de l'objectif de cette technologie d'aller dans l'espace un jour.
Ce projet est en cours de développement actif, et bien qu'un large éventail de fonctionnalités soit mis en œuvre et l'architecture globale approche d'un état cohérent, de nombreuses améliorations planifiées sont susceptibles de toucher une grande interdiction de la base de code. Par conséquent, alors que les changements de rupture sont généralement mis en œuvre dans des branches distinctes, l'interface sur la branche maître change relativement fréquemment.



Le rendu est basé sur des directeurs modernes, y compris le rendu physiquement basé. Le système de matériau basé sur les données permet les shaders personnalisés et l'héritage des paramètres à travers des instances de matériau (similaires à UE4). Une variété de fonctionnalités de rendu visant une simulation spatiale ont été mises en œuvre, telles que la génération de terrains de planète, la diffusion atmosphérique et les champs étoiles basés sur des données réelles du ciel.

Le projet est divisé en plusieurs bibliothèques. Les bibliothèques de bas niveau telles que le noyau ou le rendu peuvent être utilisées indépendamment de celles de haut niveau telles que le cadre. De nombreuses fonctionnalités ont des interfaces et des implémentations, permettant le remplacement des fonctionnalités. Si vous souhaitez implémenter votre propre rendu ou prendre en charge un système de fichiers différent, vous pouvez le faire.
De nombreuses sections critiques de performance ont été programmées avec des aspects tels que la localité du cache à l'esprit. Le rendu utilise une structure de scène optimisée et peut fonctionner indépendamment de la scène côté gameplay. Les fonctionnalités de gameplay sont implémentées à l'aide d'un système de composants entités basé sur l'archétype.
Tout ce qui n'est pas un comportement peut être décrit avec des données. Le gestionnaire de ressources permet des types d'actifs personnalisés. La réflexion des structures de données permet la sérialisation automatisée et la désérialisation du contenu. L'éditeur Work in Progress permettra un montage facile et contrôlera le flux de travail des outils de création de contenu aux formats de moteur optimisés.

Pour 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
Pour plus d'informations (y compris les tests unitaires et la cuisine de contenu), consultez la documentation de construction.
En raison d'un problème avec les dépendances de la bibliothèque, CI ne fonctionne actuellement pas. Cependant, le projet a été construit en dehors des scripts de construction automatisés et fonctionne très bien.
Ce projet a commencé en 2016 en tant que cadre graphique OpenGL basé sur le "moteur Overlord" (DX11) du cours de programmation graphique à Howest University
En parallèle, j'écrivais mes travaux de remise des diplômes sur le rendu de la planète en temps réel, et en 2017, j'ai fusionné les deux projets dans ce moteur.
Depuis lors, j'ai ajouté une variété de graphiques et de fonctionnalités de gameplay, mais en raison de la conception à l'époque, cela devenait de plus en plus difficile.
Par conséquent, à partir de 2019, l'objectif principal a été d'améliorer l'architecture et de se concentrer sur l'utilisation et l'extensibilité, et la base de code a été presque complètement réécrite depuis.
0,0:
0,1:
0,2:
0,3:
0,4:
0,5:
0,6:
0,7:
Pour une liste de bibliothèques et licences tierces, vérifiez ici.






