Examples: webgl_loader_gltf_transmission issues
See original GitHub issueReposting https://github.com/mrdoob/three.js/issues/21000#issuecomment-862597968 so as to consolidate some remaining issues.
-
webgl_loader_gltf_transmission
has thetransparent
property of each sphere to set tofalse
. Is that what the loader should be doing? What shouldtransparent
be set to whentransmission
is non-zero? -
After setting
transparent
totrue
, only front-faces show the hot-spot. (This may be a known limitation, but @mrdoob just added support for properly rendering back-faces of double-sided meshes.) There should be two hot-spots. -
FIXED: This is caused by issue 7. below. -
FIXED Also, in Chrome and Firefox (not Safari)
THREE.WebGLProgram: gl.getProgramInfoLog() WARNING: Output of vertex shader ‘vUv’ not read by fragment shader
Transmission always sets the USE_UV
flag.
FIXED: If performant, I think the dimensions of the “transmission render target” should match the dimensions of the “current render target”.Doing so will prevent artifacts like the following:
FIXED In the following code snippet,transmissionFactor
is applied togetIBLVolumeRefraction()
twice. I expect that is a physical modeling error.
FIXED Also in the above snippet,totalSpecular
has units of radiance, and therefore cannot be the correct argument because the function expects a unit-less quantity. A reasonable guess would bematerial.specularColor
, instead.
- Device: Desktop
- OS: macOS 11.4
- Browser: Chrome, Firefox, Safari
- Three.js version: r130dev
/ping @takahirox @donmccurdy
Issue Analytics
- State:
- Created 2 years ago
- Comments:32 (13 by maintainers)
Top GitHub Comments
Thank you for fixing the shader. I tried again with the latest version of the library. Looks good.
#22224