Jump to content
CBAS VISUAL

Approche PBR

Recommended Posts

Hello les gars,

 

Est-ce que quand vous créez vos shaders vous utilisez la méthode du "Physically Based Rendering" 

 

Avec la notion de conservation de l’énergie comme on peut lire sur différents tutos/sujet ? 

 

Ou vous avez une approche plus simpliste dans le but que le shader est l'air "jolie" et correcte dans le rendu mais pas forcement du point de vu physique ?

 

 

http://www.marmoset.co/toolbag/learn/pbr-theory

Share this post


Link to post
Share on other sites

Pour ma part je suis en train de tester en ce moment de faire des shaders PBR. J'essaye pas mal de choses en ce moment. Je peux me tromper, mais je dirai que le PBR va être intéressant quand tu vais du jeux vidéo. Ou quand tu vas faire une anim sous Unity ou UE. Mais si non pour de l'image de concours ou un permis ... je crois que le PBR on s'en tamponne du moment que l'image plait au client et à ton patron.

 

Et après ça dépend si t'es au boulot ou chez toi à t'amuser. Quand je suis au chaud dans mon petit appart, je fait pas mal de mods de jeux video, du coup et bien je m'éclate avec Substance live que je me suis offert (qui comme je ne sais plus qui l'a très bien remarqué, est très honnête au niveau du prix) qui lui fonctionne en PBR.

 

Enfin c'est mon point de vu!

Share this post


Link to post
Share on other sites

Arg le post qui aura eu raison de moi ! XD

 

Est-ce que quand vous créez vos shaders vous utilisez la méthode du "Physically Based Rendering"

vray a des matériaux "Physically Based " depuis des lustres, et oui l'idée de conservation d'energie est a prendre en compte quand on taf c materiaux.
 

 

Je trouve ça pas pratique sous Vray, mais sur d'autre oui genre Maxwell qui fonctionne de base en pbr .

 

Tu entend quoi par "pas pratique"?
 

 

Pour ma part je suis en train de tester en ce moment de faire des shaders PBR. J'essaye pas mal de choses en ce moment. Je peux me tromper, mais je dirai que le PBR va être intéressant quand tu vais du jeux vidéo. Ou quand tu vas faire une anim sous Unity ou UE. Mais si non pour de l'image de concours ou un permis ... je crois que le PBR on s'en tamponne du moment que l'image plait au client et à ton patron.

 

Euh PBR ne veut pas dire uniquement jeux video. Tu as des materiaux "PBR" dans quasi tout les moteur de rendu (vray arnold renderman etc)

Le pbr on s'en tamponne pas du tout mm pour de l'archi ^^ !

Share this post


Link to post
Share on other sites

Question intéressante be_rmi: pour faire court je dirais que je suis plutôt du genre à paufiner mes shaders pour qu'ils aient l'air corrects pour l'image en cours: c'est bien ça le but non ? Mais je suis en train de revoir cette approche: je pense me créer une scene de test type avec plusieurs éclairages déjà en place (plusieurs domes avec des textures hdr choisies et puis aussi un simple VRaySun) de manière à sortir rapidement des rendus des shaders sur lesquels je travaille. Le propos serait d'évaluer l'aspect de mes shaders sous différentes conditions d'éclairage, pour vérifier qu'ils restent réalistes. Ensuite, plus besoin de les tweaker en fonction de l'éclairage de la scene, c'est là tout l'intérêt. Alors ce n'est pas du PBR à proprement parler parce que je fais de l'archi et que je n'ai jamais vraiment le temps de tweaker chaque courbe RGB d'une map de reflexion comme le ferait Grant Warwick par exemple en allant piocher ces infos sur des sites scientifiques ou autres: il faut aller vite et ça ne vaut pas le coup de rester x% de plus sur un shader si le client ne voit pas la différence au final, cela dit le genre de tuto dont tu nous as donné le lien (merci) est probablement très utile.

Share this post


Link to post
Share on other sites

Honnêtement je pense que ca peut valoir le coup de se pencher sur cette technique. 

 

Mais en fait je crois que le plus compliqué s'est de trouver des données pour pouvoir mettre en oeuvre cette technique.

Ex, on veut créer un shader de sac poubelle, comment savoir la courbe du fresnel, la quantité de lumière absorbée, la quantité du réflection... Car on trouve pas mal d'info sur internet mais savoir lesquels prendre, c'est une autre affaire. 

 

Et si quelque pourrait m'expliquer à quoi sert les "hilight glossiness" j'arrive pas a cerner ce truc. 

Share this post


Link to post
Share on other sites

Highlight glossiness caractérise les réflexions de 1er rebond: tu mets une lampe qui éclaire une sphère, le highlight glossiness c'est le reflet de ta lampe sur la sphere. Après, Reflexion glossiness tu connais, ça concerne les reflexions de second niveau, celles issues des rebonds de lumières indirectes.

Dans VRay (je crois que ce n'est pas pareil sous Corona par exemple), tu peux délinker Highlight glossiness et Reflexion Glossiness: ce n'est pas PBR, mais ça permet de faire des reflets (highlight glossiness) avec un certain flou, et des réflexions indirectes avec une valeur de flou différente. Ca peut aider pour créer des matériaux complexes.

Des images valant mieux que des mots: http://www.visualcenter.ch/vray-mtl/

Share this post


Link to post
Share on other sites

Je vais essayer de faire simple, tout dans vray est physically based, donc que vous le vouliez ou nonvous taffer deja en "PBR".
 

Avec la notion de conservation de l’énergie comme on peut lire sur différents tutos/sujet ?


Les précedent materiaux style Phong, blinn etc n'avait pas de notion de conservation d'energie, les mats
de vray ont cette notion.

La conservation d’énergie signifie en gros que la lumière qui quitte une surface ne peut pas être plus "élevé"que la lumière qui éclaire cette surface.

Donc si par exemple lorsque vous construisez un materiaux avec 100% en diffuse + 50% en glossy reflexion, vous allez contre cette notion de conservation d'energie.

Un ration de 80%+20%, 23%+77% etc... est préférable du moment que le résultat est égal a (=100%)

Viens ensuite les textures:
les maps de diffuse par exemple ne doivent pas comporter d'informations de spéculaire ni d'ombre et doivent etre charger comme sRGB.
les maps de glossiness/roughness doivent etre en espace lineaire (non sRGB).
les normalMap toujours en espace lineaire (non sRGB).

Je zappe le passage sur comment prendre des textures en photos (adobergb, charte Macbeth)

Et enfin,  il faut travailler de maniere lineaire (le fameux linear workflow^^)
 

Ou vous avez une approche plus simpliste dans le but que le shader est
l'air "jolie" et correcte dans le rendu mais pas forcement du point de vu physique ?

 

En fait ta façon de taffer ne change pas vraiment, tu as juste a garder quelques réglés en tête
lorsque tu crée t matériaux et t textures. Mais ce serait dommage de ne pas en tenir compte.

 


mais je dirai que le PBR va être intéressant quand tu vais du jeux vidéo.
Ou quand tu vas faire une anim sous Unity ou UE. Mais si non pour de l'image de concours ou un permis

 


Le "PBR" est en plein boom du coté du temps réel mais ce n'est pas nouveau non plus (premiere implémentationchez triace (japon) en 2010. Mais ça reste exactement la mm chose que dans le précalculé.
Par exemple le mat principal de l'unreal engine 4 est tout droit issue de celui de chez disney(2012)

http://blog.selfshadow.com/publications/s2012-shading-course/burley/s2012_pbs_disney_brdf_notes_v3.pdf

 

 je fait pas mal de mods de jeux video, du coup et bien je m'éclate avec Substance live que je me suis offert
 (qui comme je ne sais plus qui l'a très bien remarqué, est très honnête au niveau du prix) qui lui fonctionne en PBR.

 

 Je t'encourage a tester substance(designer) et vray (corona aussi) tu sera surpris et tu vera que le principe est similaire entre précal et realtime.
 

pour faire court je dirais que je suis plutôt du genre à paufiner mes shaders pour qu'ils aient l'air corrects pour l'image...
[...]
 ...shaders sous différentes conditions d'éclairage, pour vérifier qu'ils restent réalistes

 

 CA, c ce que l'on appel du "lookdev", tu charge ton asset dans une scène test et tu régle t materiaux, textures etc en fonctionne de différentes condition d’éclairage.
 

Alors ce n'est pas du PBR à proprement parler parce que je fais de l'archi et que je n'ai jamais vraiment le temps de tweaker
chaque courbe RGB d'une map de reflexion comme le ferait Grant Warwick par exemple en allant piocher ces infos sur des sites scientifiques

 

Ce que fesait notre amis Warwick , ct palier a une lacune des mat de vray, mais tu n'as plus lieux d'utiliser ce workflow avec l'arriver du GGX dans vray (ggx qui lui est "Physiquement correct" mais pas le tweak de Grant).

 


il faut aller vite et ça ne vaut pas le coup de rester x% de plus sur un shader si le client ne voit pas la différence au final,
cela dit le genre de tuto dont tu nous as donné le lien (merci) est probablement très utile.

 

Pas besoin de rester 3h a faire le setup de ton material, au contraire les choses son simplifier.Du moment que tu respect la conservation
d’énergie et les petites régle relative a la création de textures, tu n'auras pas de problème.
 

Share this post


Link to post
Share on other sites

yes^^

 

Mais en fait je crois que le plus compliqué s'est de trouver des données pour pouvoir mettre en oeuvre cette technique.

Ex, on veut créer un shader de sac poubelle, comment savoir la courbe du fresnel, la quantité de lumière absorbée, la quantité du réflection... Car on trouve pas mal d'info sur internet mais savoir lesquels prendre, c'est une autre affaire.

 

 

Pas besoin  d'aller si loin, on as des matériaux physically based (je préfère le terme physically plausible perso).

mais ça ne veut pas dire que tu peut coller a 100% a la réalité avec les matériaux que nous avons actuellement, ça reste de l’approximation.

C là où l'artiste prend le dessus et essaye d'arriver a la meilleur approximation possible.

 

http://renderwonk.com/publications/s2010-shading-course/

http://blog.selfshadow.com/publications/s2015-shading-course/

http://blog.selfshadow.com/publications/s2014-shading-course/

http://blog.selfshadow.com/publications/s2013-shading-course/

http://filmicgames.com/archives/547

tree.jpg

Share this post


Link to post
Share on other sites

Bois, plastique platre, ne te fais pas chier a rechercher les valeur exacte, pas besoin de tomber dans la science pur et dur ^^.

Tu peut entre des valeurs ultra precise 1.52 pour le bois par exemple mais tu ne verras quasi aucun différence avec l'ior par default (1.6 je crois).

Donc pour ce genre de surface ior par default et de bonnes maps suffisent amplement pour avoir un bon résultat.

Share this post


Link to post
Share on other sites
Le propos serait d'évaluer l'aspect de mes shaders sous différentes conditions d'éclairage, pour vérifier qu'ils restent réalistes. Ensuite, plus besoin de les tweaker en fonction de l'éclairage de la scene, c'est là tout l'intérêt. Alors ce n'est pas du PBR à proprement parler parce que je fais de l'archi et que je n'ai jamais vraiment le temps de tweaker chaque courbe RGB d'une map de reflexion comme le ferait Grant Warwick par exemple en allant piocher ces infos sur des sites scientifiques ou autres: il faut aller vite et ça ne vaut pas le coup de rester x% de plus sur un shader si le client ne voit pas la différence au final

 

 

J'ajouterais à ce que dis Popol par rapport à ce que tu dis ici Thomas c'est que finalement la question n'est pas de savoir si le client verra la différence avec le shader que tu as passer un gros bout de temps à tweak sous différentes conditions d'éclairages.

En fait l'idée c'est surtout de se dire, puisque je travaille de manière physiquement plausible (comme le dis Popol), je fais mon shader UNE fois, et après à chaque fois que j'en ai besoin dans une scène je le réutilise car je sais qu'il fonctionnera quasiment tel quel peut importe la scène. 

Donc si à la base tu "perds" du temps à bien tweak ton shader, à la fin tu en gagne énormément car tu ne le refait pas deux fois. Au passage, cela permet ensuite de se constituer avec le temps une collection de bons shaders, que tu peux mixer dans tous les sens pour aller encore plus loin et avoir des shaders super propres et travaillés sans pour autant y passer 15 ans dessus :)

Et là le client s'y retrouvera ^^

Share this post


Link to post
Share on other sites

erf, donc quelque chose de proprio...je viens de tester et c'est vraiment excellent ! Tu dit que c'est lourd mais au final les map doivent être tiled et surtout tu as qu'une seule map.

Donc au final, même sur de lourdes scènes je ne pense pas que ce soit très handicapants ?! à moins de sélectionner ces maps que pour des close up.

Share this post


Link to post
Share on other sites

Donc au final, même sur de lourdes scènes je ne pense pas que ce soit très handicapants ?! à moins de sélectionner ces maps que pour des close up.

Hmmm tout dépend du nombre de matériaux dont tu as besoin dans la scène j'imagine. Et je n'ai pas vérifié les besoins en RAM avec ces matériaux.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Who's Online   0 Members, 0 Anonymous, 31 Guests (See full list)

    There are no registered users currently online

×
×
  • Create New...