jeyoder / StuffInSpace

A real-time interactive WebGL visualisation of objects in Earth orbit
http://stuffin.space
817 stars 153 forks source link

Satellites not rendering #4

Open ecksun opened 9 years ago

ecksun commented 9 years ago

Neither Satellites, rocket bodys nor debris render for me, neither in iceweasel nor in chromium. I can see the orbits if I hover over one, I can also select an orbit to get more details of them, its just the objects themself i.e. the dots that doesn't render

Chromium version:

Version 43.0.2357.130 Built on Debian stretch/sid, running on Debian stretch/sid (64-bit)

Iceweasel version:

38.0.1

I'm more than happy to help debug the issue, however I have no experience with WebGL, so if you have any pointers I would be most appreciative.

jeyoder commented 9 years ago

Hi! Can your post a screenshot of what you see on http://webglreport.com/? The issue might be that your particular OpenGL configuration doesn't support point sprites, which is what I'm using to render the dots.

lopuhin commented 9 years ago

screencapture-webglreport-com-1436252715411 Here is my configuration - the demo renders beautifully in Firefox and does not render satellites in Chrome (OS X, 43.0.2357.130 (64-bit)).

lopuhin commented 9 years ago

Ah, and Chrome complains about point sprites in the console: WebGL: INVALID_ENUM: enable: invalid capability (line 1558 in script-loader.php, "gl.enable(0x8642);")

ecksun commented 9 years ago

This is from iceweasel:

screen shot 2015-07-08 at 02 33 10

I dont see any mentions of point sprites, I guess that means I simply lack the support for that?

Do you have a guess as to why?

jeyoder commented 9 years ago

Hmm. the "Aliased Point Size Range" being [1, 255] suggests that your browser actually does have support for point sprites - I'm using 16 px sized sprites, so that looks like it should work. Come to think of it, the fact that you can click on things suggests that that's not the issue - the site relies on point sprites to see what's under the mouse as well.

You can ignore the warning, that's a compatibility hack to enable point sprites some older versions of browsers, and throws a warning on browsers with proper support.

If you look closely, can you see little tiny dots (like less than a pixel) or are they completely not there? Do you see any other warnings or errors in the console output?

lopuhin commented 9 years ago

I don't think I see any dots, here is a part of the screen: 2015-07-08 10 49 45 And no more warnings or errors either. I tried searching for some points WebGL demo, but the only one I have found is this http://learningwebgl.com/lessons/example03/particles-01.html and this http://learningwebgl.com/lessons/example03/particles-01-noenable.html and it works fine in both Chrome and Firefox (and is maybe different).

tobia commented 9 years ago

Chrome on Mac is a sad Chrome :-(

screen shot 2015-07-08 at 19 30 07

ecksun commented 9 years ago

I cannot see any small points, however I get some errors/warnings in the console:

This site makes use of a SHA-1 Certificate; it's recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1.[Learn More] css
Error: WebGL: enable: invalid enum value <enum 0x8642> script-loader.php:1559:2
"earth init: 28 ms" script-loader.php:802:2
This site makes use of a SHA-1 Certificate; it's recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1.[Learn More] analytics.js
This site makes use of a SHA-1 Certificate; it's recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1.[Learn More] collect
"earth.js loaded texture" script-loader.php:706:4
"earth.js loaded nightearth" script-loader.php:721:4
"sat.js downloaded data" script-loader.php:1077:6
"sat.js init: 533 ms (incl post: 2.1358970000001136 ms)" script-loader.php:1133:6
"orbitDisplay init: 208.42994700000054 ms" script-loader.php:472:2
"groups init: 25.53340500000013 ms" script-loader.php:290:4
"sat.js stored extra data in 175.54043000000092 ms" script-loader.php:1034:0
"sat-cruncher init: 701 ms  (incl post: 133 ms)" sat-cruncher.js:46:0

I guess the only interesting part is:

Error: WebGL: enable: invalid enum value <enum 0x8642> script-loader.php:1559:2

Considering that line looks like this:

gl.enable(0x8642); //enable point sprites(?!) This might get browsers with 
                     // underlying OpenGL to behave
                     //although it's not technically a part of the WebGL standard

It would seem your assumption about it being point sprites thats problematic.