Re: hARMful engine

Posté par Bibi09 le 3/4/2020 16:32:06
C'est ce que tu vois dans Blender 2.7x. En soit, ils font le taf mais maintenant on fait mieux encore ! Comme je suis seul sur le code, je peux pas avoir trop de choses à maintenir car les bugs existent de partout. Donc dès qu'un truc me semble un peu trop obsolète, je l'enlève pour avoir le moins de choses possible.

Dans ce projet, j'utilise les toutes dernières fonctionnalités et versions des dépendances. Dès qu'une de mes dépendances a une MAJ, je prends. J'utilise aussi OpenGL4.6 qui est la toute dernière version dispo. Il me semble logique de faire pareil pour le rendu !

C'est aussi une application du principe KISS auquel j'adhère à 100%. Je cite Wikipédia :
"Il est utilisé comme principe de développement de logiciels, pour rappeler aux développeurs qu'un programme simple est plus facile à maintenir et à comprendre. Dans The New Hacker's Dictionary, ce terme est quelquefois utilisé lors d'un projet de développement logiciel pour éviter la sur-inflation fonctionnelle d'un logiciel (« feature creep » en anglais)."

Enfin, c'est un détail mais pas des moindres : Blender utilise des matériaux PBR dans la 2.8x. Pour faire "fonctionner" mes shaders, je dois bidouiller les textures pour un résultat discutable. Si j'ai une base de PBR également, ça me permettra d'avoir un rendu uniformisé de mes objets texturés entre EEVEE et mon moteur.


Pour la 3D en temps réel, on a commencé par dessiner des objets en fil de fer. On a ensuite commencé à remplir ces surfaces avec des couleurs unies puis l'ombrage plat.
C'est un peu plus tard qu'est apparue l'ombrage de Gouraud qui interpole l'ombrage entre les vertices pour donner un aspect lissé. Comme les géométries de l'époque (années 1970) comptaient peu de points, même les ordinateurs peu puissants parvenait à le gérer.

Encore un peu plus tard (toujours dans les années 70), c'est Phong qui apporte une solution optimisée de l'ombrage de Gouraud. Au lieu de calculer cette interpolation à partir des vertices - donnant lieu à un rendu pas très très beau - on calcule l'ombrage sur les pixels rendus à l'écran. Par contre, il y a bien plus de pixels que de vertices donc cette technique de rendu était à l'époque assez gourmande en calculs.



Blinn apporte une autre amélioration à l'algorithme de Gourand et Phong concernant la spécularité. Blinn-Phong vient remplacer Phong et est utilisé par défaut dans les premières versions d'OpenGL.



On a utilisé Blinn-Phong pendant pas mal d'années depuis que les jeux vidéo en 3D sont apparus (c'était du Gouraud sur PlayStation et Nintendo64, puis on est passés sur du (Blinn-)Phong).


Rendu caractéristique de l'ombrage de Gouraud (Final Fantasy VII - PSOne - 1997).

De nos jours, les ordinateurs sont tellement puissants qu'ils peuvent encaisser des calculs bien plus gourmands en temps réel. C'est là qu'on peut passer à du rendu dit physiquement réaliste. Ici, on oublie les approximations faites pour simuler l'éclairage avec Phong. On calcule les valeurs de "rugosité" (roughness), la métallicité (metalness), etc. Avec ces paramètres on a un rendu très proche du réel de métaux, de plastique, de surfaces organiques, etc. Sans oublier qu'on peut ajouter un élément de taille : l'éclairage par une HDR.



J'espère que tu comprendras mieux mon choix.

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