Really well done!
I particularly like the little details, like the “radiating” markers spreading thinner until they vanish, and them not being in sync with each other. Then of course the very gentle backface culling transition zone for the labels. So you quite elegantly avoided one of the downsides of labels being a 2D-effect.
In my entry, the labels are textured 3D-planes, and as such benefit from the full range of 3D features like:
automatic visibility handling
various billboarding options
dynamic content updating
sensitivity for fog
plus the rest I didn’t think of
Be warned, that the code is a monolithic mess (it contains an earlier version of TexFont) - please take this only as an MVP to see what this approach can do in terms of visual impact.
Please take particular note of the one label at latitude 0°, longitude 0° (Gulf of Guinea), which can be configured (GUI) as having [No | 2D | 3D] billboarding properties. In addition, its contents is dynamcally updated and displays pitch and yaw angles, as well as distance from the target of the OrbitControlled camera.
I was wondering if you could give mec some advice as the gui isnt fully working so i am unable to switch between globe textures and also the html news widgets do not display correctly within your labelMarker div you created, and one last thing is the globe has no specular map or bump map being shown even though I’ve added both, here is a live link and my code, feel free to edit: https://shange-fagan.neocities.org/globe_news2/globe-news2.html
since it I couldnt paste the code here, here is a link to the code on the glitch website:(Glitch :･ﾟ✧)
ps - I tried to set the marker locations to the lat and lng of each country using fetch json file containing the latitude and longitude of each country but I get an error in the console that says: Uncaught (in promise) TypeError: dummy.position is not a function