Re: hARMful engine

Posté par Bibi09 le 18/1/2020 22:31:13
Hello tout le monde,
Je reviens vers vous car, après avoir commencé à étudier le bouquin, j'ai défini une nouvelle roadmap pour le projet.

Je suis parti sur un cycle de développement plus court en m'appuyant sur des fonctionnalités par version plutôt qu'un ensemble de fonctionnalités.

La première version du moteur devrait sortir plus tôt que prévu. Je pensais faire une release vers avril-mai, ça se fera sans doute en février. Après cette sortie, je ferai sans doute un break pour continuer sur mon projet d'animation avec Blender...

Pour la suite directe du moteur, je vais d'abord m'orienter sur la qualité du rendu. En particulier, et c'est probablement ce qui m'intéresse et me motive le plus sur le plan technique et visuel : du rendu physiquement réaliste (matériaux PBR comme dans EEVEE).
Je vais procéder en deux étapes. D'abord, je pense partir sur l'amélioration de l'éclairage en introduisant des lampes de type "spot" que je n'ai pas encore. J'ajouterai aussi le calcul des ombres pour les lampes ponctuelles et les spots, tout en apportant des ombres douces bien plus belles que les ombres brutes actuelles. Si possible, j'aimerais implémenter des ombres dont la netteté varie selon la distance (aussi appelée "Percentage-Closer Soft Shadows"). Pour clore cette partie sur l'éclairage, j'aimerais utiliser une ambient occlusion plus réaliste, à savoir de la "Ground-Truth Ambient Occlusion".
La seconde partie du travail sera axée sur les matériaux dits physiquement réalistes ou PBR. Il s'agit ni plus ni moins des matériaux qu'on peut apercevoir en utilisant EEVEE. A cela s'ajoutera l'éclairage ambiant à l'aide d'images et le support de HDRs. Enfin, l'ajout du parallax mapping en guise d'amélioration du normal mapping (meilleure perception du relief d'une surface).

Ensuite, j'attaquerai un morceau de choix avec la transparence. Jusque là, le moteur sera incapable d'afficher correctement des objets totalement transparent ou translucides. Je passe sur les raisons techniques mais dessiner des objets transparents en 3D (sans raytracing), c'est laborieux et souvent pas super joli. Ici, je vais utiliser une méthode moderne qui apporte un bon rendu des objets transparents même quand ils sont imbriqués les uns dans les autres. La version contiendra aussi différents effets liés comme la réfraction et la réflexion de lumière.

Outre des améliorations des performances, je continuerai avec un peu de "vie" dans les mondes 3D affichés. Là aussi, ça sera en deux temps.
D'abord, par les interactions utilisateur (clavier, souris, manettes). Je m'occuperai aussi d'incorporer le moteur physique Bullet pour les rigid bodies.
Après ça, ce sera avec différentes formes d'animation : meshes animés, objets pouvant suivre de trajectoires, ...

Pour la suite, je verrai quoi faire en temps voulu. Les fonctionnalités dont j'avais parlé précédemment (scripting, UI, Vulkan, ...) sont gardées pour les versions qui suivront. Il y a déjà pas mal de travail !

Cette contribution était de : http://blenderclan.tuxfamily.org/html/newbb/viewtopic.php?forum=3&topic_id=49507&post_id=580676