Replies: 3 comments 1 reply
-
Would you be willing to have a session to debug this? I added you on Twitter where we can arrange something over DM if you'd be interested. I discovered that if I call correct.mp4 |
Beta Was this translation helpful? Give feedback.
-
I'm not yet sure what's causing this on my end. LUME sets In the meantime, I found the following temporary workaround on my end, in the GLSL code: // bool isFacingProjector = dotProduct > 0.0000001;
bool isFacingProjector = true; // always apply it, for now Somehow, the direction of the camera that |
Beta Was this translation helpful? Give feedback.
-
Looks like some matrix isn't getting updated. My guess would be the three-projected-material/src/ProjectedMaterial.js Lines 309 to 311 in af105f1 Don't have any other useful information since I don't know your setup. Doesn't seem an issue with the library to me. |
Beta Was this translation helpful? Give feedback.
-
I'm not sure why, but in some cases the projection will skip some triangles of a mesh, and also will render on the other side when it shouldn't. I'm not sure yet how exactly I trigger this case (I'm using my TS fork, but the code is the same, and I submitted the same bug fixes here as there).
Here is a video. Notice that half of the sphere never receives the projection, and also the projection seems to happen on both sides (unlike any of the examples).
wth.mp4
Do you have any ideas what could cause this?
I don't have a simple reproduction yet because I've made some custom elements for LUME that use
ProjectedMaterial
internally, allowing this to be possible (the above video is from the following HTML code):It seems to me, and I definitely don't doubt because I've encountered issues numerous times, that
THREE.WebGLRenderer
has state bugs that may affect this somehow.How do I know Three.js has some fairly bad bugs? Well for example, and in my experience porting Three.js to WebAssembly (with AssemblyScript, a TypeScript to Wasm compiler) I have found, fixed, and added unit tests for multiple bugs that TypeScript would have otherwise caught, so I know from experience the code base is not in as good of a shape as it can be.
Beta Was this translation helpful? Give feedback.
All reactions