kripken / BananaBread

BananaBread is a C++ 3D game engine that runs on the web using JavaScript+WebGL+HTML
1.38k stars 347 forks source link

psychedelic on mac chrome #53

Closed harry-wood closed 9 years ago

harry-wood commented 10 years ago

Is it supposed to look psychedelic like this?

psychedelic bright colours

Chrome version 37.0.2062.94 On MacOS X Version 10.9.4 Playing the "stable demo" at https://developer.mozilla.org/en-US/demos/detail/bananabread

kripken commented 10 years ago

Looks wrong. How does it look on Firefox and Safari on your machine? And do other WebGL demos work ok?

Calinou commented 10 years ago

Turn off glare with /glare 0.

nmalcolm commented 10 years ago

I can reproduce on Chromium 37.0.2062.120 (Ubuntu 14.04). Doesn't occur on Firefox 33.

lucasad commented 10 years ago

Do you have an nvidia card by any chance?

nmalcolm commented 10 years ago

Negative. AMD Radeon.

jrmuizel commented 10 years ago

This is likely because of a shader precision mismatch. Chrome properly gives an error when compiling BananaBread's shaders. Firefox also does now on some platforms. See https://bugzilla.mozilla.org/show_bug.cgi?id=1094047 for more info.

slacka commented 9 years ago

Somewhere between FF33 and FF35, something broke under Windows. BananaBread is now trippy in FF35 and 37.0a2 (2015-01-23). Also Chrome 39 and 42 Canary still have this bug in both Windows and Linux.

@harry-wood Topic should be changed to " psychedelic on all browser" now.

@kripken Do you know the cause or do you need me to run a mozregression to find the commit that triggered this?

kripken commented 9 years ago

Perhaps related to https://bugzilla.mozilla.org/show_bug.cgi?id=1124187 ?

slacka commented 9 years ago

@kripken I'm on an Ubuntu 14.10 running FF 38.0a1 (2015-01-24) with proprietary Nvidia drivers and it's giving the trippy colors. My other Ubuntu 14.4 computer has had this issue since FF 35 and it's using the Mesa drivers. Bug 1124187 is a Windows/ANGLE specific bug related to black textures/shadows, while this affects all platforms now.

Looking at the bug tracker, someone already did a mozregression on this. https://bugzilla.mozilla.org/show_bug.cgi?id=1094047

BananaBread has precision mismatches in its shaders and we now properly give an error on Windows. BananaBread should be fixed.

kripken commented 9 years ago

@modeswitch , you're the only one that can update the full demo (with webrtc). Any chance you can do that?

I tried to update it now without webrtc, but there is some hosting error there. Another option is to take it down from there and use github pages.

modeswitch commented 9 years ago

I thought I had landed everything, but I'll double-check. We need to find a new place to host the webrtc broker though.

I had lots of problems with the demo site. I opened bugs a long time ago, but they were closed without being fixed. My suggestion is to host it somewhere else.

kripken commented 9 years ago

Heh, well I just filed earlier today https://bugzilla.mozilla.org/show_bug.cgi?id=1125630 , we'll see what happens. But yeah, I'm fine with hosting anywhere.

modeswitch commented 9 years ago

@kripken Also, I have a webrtc implementation for node.js (datachannels only) that would work with emscripten: https://github.com/js-platform/node-webrtc. We should be able to compile a server using that code and use that instead of having one of the clients do it.

Thoughts?

kripken commented 9 years ago

Sounds cool!

Although I'm a little disappointed that there hasn't been much interest in BananaBread. The cube 2 community hasn't shown enthusiasm, and I'm not aware of anyone running their own servers or anything like that. For those reasons, I'm not sure it makes sense to put much effort into improvements here. I guess BananaBread was a good first demo of a fully-functional FPS in browsers, but that was it's main usefulness.

slacka commented 9 years ago

@kripken BananaBread is an impressive demonstration of what the Emscripten/WebGL tech are capable of. I think one of the reasons it it never caught on is that the webrtc did not work for most people. When it was first announced I made several attempts to find public matches and play with some friends. But we were never able to connect. I don't know if it was an issue with my Firefox or router, but I think it never worked for most people.

Another thing that would have pushed adoption/interest is a public server browser that shows number of players and where they're playing.

modeswitch commented 9 years ago

@slacka BananaBread multiplayer was released when WebRTC was still pretty new. As a result, much of the NAT-traversal options that exist now weren't really working. Also, having one of the clients act as server isn't a good user experience.

Having a standalone server, and setting up STUN and TURN services would address these issues.

slacka commented 9 years ago

@modeswitch Yes, I didn't mean to be critical of your work. It was just an observation that the demo was announced before the browsers were ready. Now that they are, it might might sense for Mozilla to show it off with a new release and announcement. Maybe a good project for an intern?

modeswitch commented 9 years ago

@slacka I'm not offended! Your comments are valid and I appreciate the feedback.

I'm not sure if @kripken has any interns, but it would be a reasonably-sized project to update the demo with a standalone server and some better NAT traversal.

kripken commented 9 years ago

No one that I am aware of. I agree it might be nice though.

harry-wood commented 9 years ago

You're covering a few different topics here, one of which seems to be... how to "get some gaming happening". Continue discussing that here? : https://github.com/kripken/BananaBread/issues/57

slacka commented 9 years ago

@modeswitch

I thought I had landed everything, but I'll double-check. We need to find a new place to host the webrtc broker though.

According to https://bugzilla.mozilla.org/show_bug.cgi?id=1125630 , they resolved the uploading problem with Demo Studio.

kripken commented 9 years ago

@modeswitch , let me know if you want to upload a multiplayer version, or I can upload a singleplayer (at least without rendering glitches ;)

modeswitch commented 9 years ago

@kripken Upload a new singleplayer version. If we want to host the multiplayer again, we'll need to find a place to host the webrtc broker. Or do the standalone server. That would be my preference because it's a more realistic example. That would require an additional developer resource.

kripken commented 9 years ago

Ok, cool, uploaded.

People that saw the graphical glitches, please confirm they are fixed.

slacka commented 9 years ago

Verified Fixed in both FF Nightly and Chrome Canary. You can close this and issues #42 now. Thanks kripken!