HeapsIO / heaps.io

Website sources
https://heaps.io
24 stars 17 forks source link

Samples text shows up as boxes (Chrome / Linux) #34

Closed jcward closed 6 years ago

jcward commented 6 years ago

In the samples section of the website, on Chrome 67 on Linux, the text for all samples does not properly render. :( I did check my Windows VM, and text did render properly:

image

image

markknol commented 6 years ago

Download Windows to solve this issue :)

ncannasse commented 6 years ago

That's interesting. It seems as if the transparency is disabled. I can't reproduce on Firefox on my Ubutu VM.

jcward commented 6 years ago

Ah ha, Firefox 45 on Ubuntu 14.04 is indeed working.

Maybe it' sjust Chrome... though I don't think I've had problems on shadertoy.com, kodegarden.org, or webglsamples.org, though I'm not entirely sure what kind of webgl toy to look at:

image

ncannasse commented 6 years ago

I would be interested if you can debug why this is happening. Maybe some issue with the way we cache state changes in h3d/impl/GlDriver.hx (setMaterialBits)

jcward commented 6 years ago

I tried (maybe?) disabling the curMatBats, but it had no effect:

  curMatBits = -1;
  if( curMatBits < 0 ) diff = -1;

Some more data, on my computer:

Chromium 65.0.3325.181 -- affected Chrome 67.0.3396.87 -- affected Firefox 45.0 -- not affected

Co-worker's Ubuntu 16.04 Chrome 65.0.3325.162 -- not affected

I tried git checkout of heaps repo back to Nov 2016, and I still had the problem.

Interesting, another observation of the affected Chrome browsers: models are all red, but primitives render properly:

Chrome vs Firefox: image

Chrome: models==red vs primitives==ok: image

interactive

jcward commented 6 years ago

Just clicked this from twitter -- same issue with deepnightfr's blossom game (which is heaps-based). Same problem with alpha in the bitmaps.

Firefox: image

Chrome: image

Again, I'm not sure if it's in the engine or my graphics driver / browser... but I don't see the problem in various web demos. Here's pixi.js blendmodes demo, which definitely has alpha sprites:

image

ncannasse commented 6 years ago

Note: it does not seem to be related to bitmap decoding because in the Sample2D screenshot the alpha on rotating Haxe logo is done by code.

On Tue, Aug 14, 2018 at 4:04 PM, Jeff Ward notifications@github.com wrote:

Just clicked this from twitter -- same issue with deepnightfr's blossom game http://deepnight.net/games/blossom/ (which is heaps-based). Same problem with alpha in the bitmaps.

Firefox: [image: image] https://user-images.githubusercontent.com/2192439/44062670-994b824a-9f1a-11e8-81d0-00cb90ef2dd4.png

Chrome: [image: image] https://user-images.githubusercontent.com/2192439/44096171-e479dd70-9f97-11e8-9bcc-53e93d9b9b80.png

Again, I'm not sure if it's in the engine or my graphics driver / browser... but I don't see the problem in various web demos. Here's pixi.js blendmodes demo https://pixijs.io/examples/#/demos/blendmodes.js, which definitely has alpha sprites:

[image: image] https://user-images.githubusercontent.com/2192439/44096254-17e0bd50-9f98-11e8-8715-ed54af89271e.png

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/HeapsIO/heaps.io/issues/34#issuecomment-412883347, or mute the thread https://github.com/notifications/unsubscribe-auth/AA-bwDTGGRpSmRL5qxbK6sP0cdecyBokks5uQtj6gaJpZM4VPDz0 .

jcward commented 6 years ago

Ah, fascinating, I'm starting to think this is a problem with my browser / gpu, and not heaps itself.

The above pixi blendmodes demo is running is a software renderer because they pass the context option failIfMajorPerformanceCaveat : true.

Looking at http://webglreport.com, it says my Chrome browser has "major performance caveat: yes". I can also see that my Firefox browser (which works), does not support webgl2, but only webgl:

image

I tried forcing heaps / GlDriver.hx to use webgl instead of webgl2, and in Chrome then the world demo is all white with other weird artifacts:

image

jcward commented 6 years ago

Interesting, it's definitely browser / driver related. If I run Chrome with --ignore-gpu-blacklist, it runs Heaps content just fine (interestingly, in this mode it advertises as not supporting webgl2, only webgl.)

There are some interesting details in the GPU reports from chrome://gpu in each mode:

chrome_gpu.pdf chrome_gpu_ignore_blacklist.pdf

I suppose another possible issue to file is -- how to detect this to allow some kind of graceful error message.