|
Re: hARMful engine |
|
---|---|---|
OverdOzed
![]() ![]() Inscrit:
23/02/2006 18:10 De Alpes-Maritimes
Post(s): 3183
|
![]() En fait, dans mes tests j'avais bidouillé la map de roughness... ![]() Mais ce modèle me pose souci, il ne rend pas pareil que sur le site, y compris avec Blender. Donc je suppose que c'est "normal", surtout que tous les autres objets que j'ai testés rendent comme on pourrait s'y attendre. Je le suspecte d'avoir refait ses matériaux pour sa vidéo. ![]() Un petit changement qui ne se voit pas mais qui a une grande importance : je suis passé sur un rendu qui se fait uniquement dans des valeurs à virgule plutôt que des entiers. Dit comme ça, ça semble bête mais en fait, ça permet de faire plein de choses sur les couleurs comme changer l'exposition d'une image. A tout hasard, l'adaptation de l'exposition selon la quantité de lumière comme ici : https://www.youtube.com/watch?v=6uZ1RUYmhgQ Hook, tu connais sans doute déjà. ![]() Tout n'est pas encore parfait mais ça s'améliore ! ![]() https://dcarlus.github.io/hARMful/assets/images/renders/pbr/walther.jpg ![]() https://dcarlus.github.io/hARMful/assets/images/renders/pbr/chandelier.jpg ![]() https://dcarlus.github.io/hARMful/assets/images/hARMful_big.jpg Et ici une Mustang mais c'est "normal" que le rendu soit un peu décevant. Le format FBX ne supporte pas les matériaux PBR et je ne gère pas (encore) le format glTF. Mais ce format glTF, qui supporte le PBR, est extrêmement lourd sur le disque, donc j'y suis plutôt réticent... ![]() https://dcarlus.github.io/hARMful/assets/images/renders/pbr/mustang.jpg Oui, pour le moment c'est uniquement le moteur de rendu 3D mais plus tard, il y aura aussi l'intégration du moteur physique (Bullet). Là, j'ai ajouté à la va-vite des interactions clavier/souris pour bouger la caméra. Je pourrais bouger n'importe quoi dans la scène en fait. Sinon, pour la suite du rendu voici quelques shaders/effets que j'aimerais ajouter après ça : * anisotropie (métaux, ...) * subsurface scattering (peau, ...) * clear coat (améliore le rendu des peintures de voitures) * bloom * aberrations chromatiques * lens flare * defocus Mais bien sûr, beaucoup de ces matériaux ne pourraient pas s'appliquer par le simple chargement des objets 3D. Il faudrait les utiliser via un éditeur... ![]() Merci ! ![]()
Contribution le : 12/06/2020 19:23
|
|
![]() ![]() |
|
Re: hARMful engine |
|
---|---|---|
OverdOzed
![]() ![]() Inscrit:
19/07/2011 20:39 De Corsica !
Post(s): 1271
|
Citation :
Ah oui ça s'appelle l'auto exposure sur Unity et c'est bien utile pour rajouter du réalisme ! Très classe les derniers rendus, en tout cas va pas falloir chaumer si tu comptes ajouter tous ces shaders, bon courage ![]()
Contribution le : 13/06/2020 16:04
|
|
![]() ![]() |
|
Re: hARMful engine |
|
---|---|---|
OverdOzed
![]() ![]() Inscrit:
23/02/2006 18:10 De Alpes-Maritimes
Post(s): 3183
|
Hello,
Voici quelques nouvelles. Pas grand chose à montrer de nouveau, plus à énoncer. J'avais prévu de faire une vidéo "en grande pompe" sur le rendu PBR intégré au moteur avec une scène "complexe". Je pense la faire mais de façon assez classique, juste avec une petite démo de rendu de quelques objets. Mais avant ça, je souhaite fixer quelques bugs ou améliorer le rendu. J'ai déjà pu retirer un gros souci avec les reflets. En effet, ils avaient tendance à trembler légèrement quand on bougeait la caméra. C'était dû au multisampling (antialiasing, aussi noté MSAA) que je réalisais directement via OpenGL. Grosso modo, je demandais à OpenGL de faire le rendu 4 fois avec un léger décalage sur les pixels, ce qui permettaient en théorie d'avoir un adoucissement des arêtes... Ça bouffe énormément les performances. Pire encore, je n'ai pas vu que l'antialiasing était aussi ouf que ça ! Franchement le jeu n'en valait pas trop la chandelle. Et le clou du spectacle, c'est que ça m'altérait aussi les normales des meshs. Or, les reflets se basent sur les normales ce qui explique les tremblements. J'ai donc enlevé l'antialiasing "automatique" d'OpenGL. Les performances sont remontées en flèche ! Ça m'évitera encore plein d'autres ennuis à l'avenir. Bien sûr, sans antialiasing c'est très moche. C'est pourquoi je vais passer par du FXAA en "post-production". C'est rapide et ma foi efficace. Je verrai pour intégrer d'autres algorithmes bien plus tard car ce n'est pas d'une grande priorité. https://www.canardpc.com/375/fxaa Dans le moteur, j'ai déjà un système d'effets de post-production. J'applique déjà avec l'ambient occlusion avec ce système. C'est par exemple là que je mettrai aussi le bloom, etc. La v2.0 du moteur est planifiée pour septembre 2020. Elle pourra être repoussée selon les besoins. En terme de contenu, le PBR est la principale feature à ajouter à cette version. Un gros morceau, c'est l'optimisation du moteur. Je compte profiter de cette version pour faire une première passe sur quelque chose que j'ai négligé mais en posant ici et là quelques éléments pour offrir de meilleures performances. Si j'arrive à obtenir de bonnes performances sur un environnement statique (je n'ai pas de chiffres encore, il faudra que je fasse une petite comparaison avec Blender par exemple), ça pourra ouvrir la porte vers un début d'interactions avec l'utilisateur. Entendez par là : commencer à rendre le moteur utilisable pour du jeu vidéo, etc. Un bon programme bien chargé ! ![]()
Contribution le : 20/06/2020 12:02
|
|
![]() ![]() |
|
Re: hARMful engine |
|
---|---|---|
OverdOzed
![]() ![]() Inscrit:
23/02/2006 18:10 De Alpes-Maritimes
Post(s): 3183
|
Bien le bonjour,
Voici une nouvelle vidéo pour présenter le rendu de quelques objets avec les nouveaux shaders PBR et l'éclairage ambiant grâce aux HDR. Depuis les dernières captures d'écran, j'ai pu améliorer un peu le rendu des objets. J'avoue ne pas être encore totalement satisfait mais c'est un premier jet. https://www.youtube.com/watch?v=TOFYPtxJ3Vw Je commence à plancher sur une grosse optimisation du moteur. Après quelques pistes de réflexion, je voudrais en profiter pour mettre en place du multithreading dans le process de la scène 3D et accélérer ainsi le traitement côté CPU. C'était quelque chose de prévu pour plus tard mais ça me semble bien mieux de le faire dès maintenant. Surtout que j'ai une tâche consistant en la création d'un pool de threads. Ce pool simplifiera la parallélisation d'une même tâche sur plusieurs cœurs du CPU. J'ai eu l'occasion de développer une pré-version de ce pool dans l'outil qui calcule les HDR donc j'ai pu voir que ça fonctionne bien en terme de gain de performances ! ![]()
Contribution le : 24/06/2020 09:41
|
|
![]() ![]() |