MeshPhysicalMaterial version 133 and version 155 difference

Hello, I am using a simple example of a MeshPhysicalMaterial with a transmission set to 1 but it looks completely different from version 133 to version 155. The former looks transparent and the latter always has a white color.

I cannot figure out what is the property that is setting it:

Three 133:

Three 155:

Thanks in advance!

1 Like

Do you mind sharing a fiddle that demonstrates the issue?

Are using a transparent background?

Maybe related to this issue? MeshPhysicalMaterial's transmission property is broken on WebGPU API β€” (unfortunately no solution till now)

@Mugen87 sure thing:

I added both versions, you can comment it out one or the other to see what I mean:

Let me know if you need it differently or if there is something I can do to help.

three.js r152 and r155 both contain important changes related to color management and lighting. There are detailed guides for both changes linked from the migrations page β€”

Those changes would be relevant to any jump between these versions, but there’s a larger issue in the demo – you have a fully-transmissive material, but nothing behind it. Transmission cannot refract a CSS background, so the color coming through (for lack of anything in your scene) is somewhat undefined – three.js tries to make reasonable choices here but it cannot use your DOM, so if you want a particular color shown then I would recommend adding a background to your THREE.Scene.