-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add OpenPBR's base_weight material parameter #16085
base: master
Are you sure you want to change the base?
Conversation
Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s). |
Snapshot stored with reference name: Test environment: To test a playground add it to the URL, for example: https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/16085/merge/index.html#WGZLGJ#4600 Links to test babylon tools with this snapshot: https://playground.babylonjs.com/?snapshot=refs/pull/16085/merge To test the snapshot in the playground with a playground ID add it after the snapshot query string: https://playground.babylonjs.com/?snapshot=refs/pull/16085/merge#BCU1XR#0 |
Visualization tests for WebGPU (Experimental) |
WebGL2 visualization test reporter: |
WebGL2 visualization test reporter: |
Visualization tests for WebGPU (Experimental) |
packages/dev/core/src/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.fx
Outdated
Show resolved
Hide resolved
packages/dev/core/src/Shaders/ShadersInclude/pbrUboDeclaration.fx
Outdated
Show resolved
Hide resolved
packages/dev/core/src/Shaders/ShadersInclude/pbrVertexDeclaration.fx
Outdated
Show resolved
Hide resolved
Visualization tests for WebGPU (Experimental) |
Visualization tests for WebGPU (Experimental) |
Visualization tests for WebGPU (Experimental) |
Visualization tests for WebGPU (Experimental) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -88,6 +92,11 @@ fn main(input: FragmentInputs) -> FragmentOutputs { | |||
#ifdef ALBEDO | |||
, albedoTexture | |||
, uniforms.vAlbedoInfos | |||
#endif | |||
, uniforms.baseWeight |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
baseWeight -> vBaseWeight
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I realised that the "v" prefix stands for vector, so instead I renamed it to baseWeight
at 5c5abfa.
Head branch was pushed to by a user without write access
Visualization tests for WebGPU (Experimental) |
What's the most straightforward way to reproduce locally a failing test? |
finding the failling test in the config.json and running the associated playground id locally |
But in your case the webgpu test link above in the chat here let you access this: Meaning there is probably a missing/not working part in the NME code for pbr calling into the block around here https://github.com/BabylonJS/Babylon.js/pull/16085/files#diff-e3d517f82735473032d4378b87b2ba60963f75b95023eb944446a79b9702257bR977 |
cc @Popov72 :-) |
// applied in computeDiffuseLighting), but with the diffuse model *currently* used | ||
// in Babylon.js, factoring it into the surfaceAlbedo is equivalent. | ||
surfaceAlbedo *= baseWeight; | ||
#if BASEWEIGHT |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should probably be #ifdef
This PR implements the
base_weight
parameter from the OpenPBR specification.This parameter simply scales linearly the
base_color
(named albedo in Babylon.js).Test scene:
https://playground.babylonjs.com/?snapshot=refs/pull/16085/merge#DT1XPP#4