Jump to content

question about PBR renderer


Recommended Posts


i think 

when i use BABYLON.SceneLoader.Append( )  load a glb  model file and this file already have pbr material inside

it is work very well but this render  is  standard and not pretty

may i preset this renderer use PBR  ?

and No need to specify any new pbr material ?

thank you


Link to comment
Share on other sites

@wuwood, the act of using PBR materials doesn't mean that rendering with them will be good, it just means the shader is trying to be physically accurate when rendering materials. Under older methods like blinn/phong, the textures would have to be altered when lighting conditions were changed, such as an object with wood and metal under daytime lighting and nighttime lighting. This meant you have to carry two or more times the number of textures for an asset depending on how your lighting varies. PBR strives to change that tendency so that your textures will represent the material they are interpreting under any lighting conditions and no lighting information needs to be baked into the textures. 

That said, what may be missing in your render may not have to do with your materials but rather the lighting in your scene. Here are a couple of other topics on the forum that I've touched on setting up IBL lighting correctly with some attached playgrounds. Rather than repeating it all here, I'll collect the links for you so you can see the whole context:


Those two topics should give you a start to making sure your lighting is set up to render your materials in the best way. Beyond that, you may want to look at the post-effects stack in Babylon to further elevate your rendering which can be found at https://doc.babylonjs.com/api/classes/babylon.postprocess and I would highly suggest using the ACES tone mapping option as this is the same tone mapping that popular game engines use to ensure detail in the extremes of tone.

        // Set up new rendering pipeline
        var pipeline = new BABYLON.DefaultRenderingPipeline("default", true, scene);

        // Tone mapping
        scene.imageProcessingConfiguration.toneMappingEnabled = true;
        scene.imageProcessingConfiguration.toneMappingType = BABYLON.ImageProcessingConfiguration.TONEMAPPING_ACES;
        scene.imageProcessingConfiguration.exposure = 1;

I hope this helps you get the quality of your rendering to where you want it. Please feel free to ping back for more questions or clarifications.

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.

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.


  • Recently Browsing   0 members

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