Jump to content

PBR Detailed Documentation


Sebavan
 Share

Recommended Posts

Hello,

Sorry for the delay, but here is finally a complete documentation on how to use the new PBR Material (available in the 2.4 preview of BJS as an extension) with the new seamless HDRTexture:

http://doc.babylonjs.com/overviews/Physically_Based_Rendering_Master

This should help understanding all the features available and how to use them in order to create Metal, Gold, Crystal, Wood and Plastic (tutorial included).

Hope you ll enjoy it.

Link to comment
Share on other sites

Hi,

Thank you for the messages :-)

The loading delay are due to the size of the HDR file (around 4-5 Mb) and the fact we extract all the binary data in JS. We then parse all of them to convert from panoramic to cubemap, extract harmonics and in the slowest example generate the seamless cubemap. 

This is why we are thinking to create an offline tool able to reduce the amount of pre-processing needed.

Link to comment
Share on other sites

Really nice! One thing that's not clear to me - how do we use this in a "real" environment? For example, the Sponza scene... I guess we need to render the actual 3d building mesh to a cubemap somehow in order for it to be reflected, but how? Can we add lots of different objects and lights to the scene and have them affect the PBR material?

Link to comment
Share on other sites

Hello,

The material is compatible with light probes so you could simply use them to generate your environment cube map.

Please, note by doing this, the environment will need to be rendered twice, so carefully chose the objects you pushing to your probes to prevent degrading your performances too much. You can by the way find one example in the basic documentation (reflection part):

http://doc.babylonjs.com/extensions/Physically_Based_Rendering

which point to this Playground:

http://www.babylonjs-playground.com/#1HQPOD#2

The main drawback of this approach for me in PBR is the lost of seamless filtering as well as environment irradiance (http://doc.babylonjs.com/extensions/Physically_Based_Rendering_Master#environment-irradiance). Rendering is always a trade-off between performance and quality :-)

I am currently in the process of bringing new tools in the editor to help dealing with such use cases. The idea is you could extract from your scene an hdr cubemap from a probe process it, store and reuse it later at runtime.

Link to comment
Share on other sites

Hi,

Congrats Sebavan for your PBR material, really impressive !

I have a little suggestion. In a classic PBR workflow, for insulators materials, the texture variations are preferabily specified via Microsurface Texture instead of via Reflectivity Texture. But in your PBR version, Microsurface Texture is provided by Reflectivity Texture Alpha channel, which is not convenient, since Reflectivity Textures aren't used systematically.

Could it be possible to create a slot for a microsurface texture ?

Link to comment
Share on other sites

Hello,

The idea behind it is to reduce the number of inputs to keep acceptable performances (without more IFDEF in the shader) even on shared bus devices (and not differentiating conductor/insulator).

I agree it can sometimes not be convenient depending on your pipeline (nobody has the same usually :-) ).

I am trying to work on the editor currently to help dealing with PMREM without having load time hit on the hdr texture. So maybe, more tooling should be done to allow this offline tool to simplify the pipeline without compromising on performances and maintenance? This way we could properly represent in the UI Insulator/Metalic even if the material itself does not change. Any thoughts ?

 

Link to comment
Share on other sites

  • 2 months later...

Hello,

The PBR material is now fully complete for 2.4 !!! : https://doc.babylonjs.com/overviews/Physically_Based_Rendering_Master (Updated Doc is in deployment when I am posting)

Supports for color grading through .3dl LUT: http://www.babylonjs-playground.com/#B4PW0#2

And color curves have been integrated: http://www.babylonjs-playground.com/#B4PW0#3

I am no artist so feel free to create awesome Demo with it.

BR,

Link to comment
Share on other sites

Ok is realy qul.

I would like to know how can we achieve PBR materials and textures with Blender, 3d max, maya...
It will be good to create exporter for babylon with PBR capabillity. 
So codeing materials and tetures.... is one way.

Is now there export PBR capabillity from Blender or 3d max to babylon json file?

It will be good to see how achieve this PBR capabillity with Blender or 3d max and export this to babylon file with exporters.

I would like to have materails and texture inside bayblon file. I don't like to code it by hand.


So possible do PBR materials/textures inside blender modeling and export this to babylon (josn file)?
Is there any documentation how to achive this in Blender/3D max and export this to babylon (json file)?

 

greetings

Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...