Demos are broken
talentlessguy opened this issue · 4 comments
Every demo has the same set of errors:
browser: Firefox Dev Edition 88
glxinfo
:
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) UHD Graphics 620 (KBL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 21.0.1
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6 (Compatibility Profile) Mesa 21.0.1
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 21.0.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
@talentlessguy
Hello,
Sorry you having issues with running the demos. Unfortunately I cannot reproduce on my end. I'm on Windows with Intel integrated graphics, and here is a screenshot running my Geometry_Showcase on the latest Firefox stable browser that I downloaded this evening:
I tried every single demo on all major modern browsers - Chrome, Firefox, and Edge - and they all work as expected. I even tried all the demos on my Android with mobile Chrome, mobile Firefox, and mobile Edge, and all demos work there as well (minus the BVH demos with hefty triangle glTF models - they don't compile on mobile - still don't know why, still under investigation).
What's odd about your error messages is that it seems that three.js is unable to locate my custom shaders for each demo. Do you have the exact path file tree on your machine that matches my file tree on this repo? Also, you probably already know this, so apologies in advance if that is the case, but all my demos, since they use three.js' FileLoader to load my custom fragment shaders and since there are external files to load such as the BlueNoiseRGBA texture, you must be running a simple server on your machine in order to serve up the shader files and other assets that would typically be stored on a server (even if you are running them on your local machine). Again, apologies if you know that already.
That's all the scenarios I can come up with so far - hopefully you can get everything working soon. Please let me know if you resolved the issue and what was causing it (if you are able to get it working). I might post a helpful note at the bottom of my README so other users can benefit.
P.S. Totally forgot, I recently changed a bunch of files on this repo yesterday to add my first attempt at a De-Noiser. Maybe you tried running the demos at that moment, or downloaded/forked a snapshot of my repo while it was temporarily in transition. Apologies if that is the case - everything should be up and running now and stable.
Thank you and good luck,
-Erich
@erichlof hello, thanks for such quick and detailed response!
No, I ran demos online, without local installation.
So it might be the issue with my browser WebGL config?
I have checked about:config
and all of the properties seemed to work fine...
I just have checked in another browser, Min, using NVIDIA GPU, it seemed to work for some time and then it broke (WebGL context got lost for some reason)
my dGPU hardware info:
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 1050 with Max-Q Design/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 460.67
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6.0 NVIDIA 460.67
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 460.67
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
Hello again @talentlessguy ,
Thank you for some clarifications and the new screenshot. Seeing this new screenshot, now I believe the problem lies in the WebGL2 communication between your browser and graphics card. It doesn't look like the browser of your choice is enabling your GPU to do the heavy lifting on my WebGL2 demos - instead it looks like it's falling back on the CPU and trying to render everything through software rendering, which is obviously what we don't want because it will run at maybe 1 to 2 FPS and crash as you reported.
Here is a screenshot from inside Edge - I just type edge://gpu - if you're on Chrome, just replace the name, so , chrome://gpu - and if you're on Firefox, it's about:support (no forward slashes), then scroll down to see if WebGL 2 has drivers that are active.
Notice how under the 'WebGL2' field, it says "Hardware accelerated" in a green font.
For my sanity check, could you try this same thing with one of the 3 major modern browsers, preferably Chrome? See if it says WebGL 2 is hardware accelerated. Out of necessity I switched from WebGL1 to WebGL2 about a year ago, so all the demos on my repo require that WebGL 2 not only is implemented and supported inside your browser of choice, but that it is correctly asking your graphics card to hardware accelerate that WebGL 2 context.
Hopefully we'll get closer to a solution to your issue! :-)
Talk to you soon,
-Erich
Hello, I'm sorry for responding to such an old issue but here is the chrome://gpu
report I have. I launched Min using my integrated Intel GPU (which has much better support for hdw acceleration)
it says that WebGL 2 hardware acceleration is enabled.
Even though, it still looks not that good, the shaders are super low def:
anyways, the issue can be safely closed
demos weren't working because WebGL 2 hardware acceleration in WebGL isn't supported by proprietary Linux NVIDIA drivers and it's not the project issue.