After a weekend sprint and a crazy amount of good luck (you'd be amazed at how big of a role luck plays in solving computer programming challenges), I am now able to release version 0.2.0 of Skyforge :D. While the new version still weighs heavily on the GPU, it comes with a ton of bug fixes and improvements over version 0.1.0 (which, yes, was actually called 1.0.0 for a while, but never mind that!). What's in this new update?
Created a higher resolution image and normal map for the moon, with particular improvements for the normal map which are now based on the image files from the Celestia Motherload Collection. These new images also use appropriate "margins" in order to avoid the crusty edge effect.
Added property hooks for each of the original sky variables, luminance, turbidity, reileigh, mieCoefficient and mieCoefficientG so that you can change the color and glow properties of astronomic entities (the sun and the moon).
Added a 'glow' effect to the moon similar to the one presently found on the sun, except that it's of lower amplitude and dependent upon the phase of the moon. The lunar glow also impacts the color of the moon resulting in a 'yellowing' effect as the moon reaches the horizon.
Fixed up a number of bugs, which added back our horizon glow during the day, added a non-black night sky, flipped the moon right side up and implemented SLERP for solar and lunar positions to avoid 'blips' when the other party goes between 360 and 0 degrees. The horizon bug also lead to the implementation of a static horizon where the sun can go all the way below the horizon without blowing up. Once this was possible, the effect was then duplicated for the moon and the stars.
Reduced the number of iterations for star search which should reduce the load on the GPU slightly - but not much.
Updated the star twinkle effect for smoother twinkles, added color variation to the twinkles and made twinkling dependent upon the zenith angle of the star, just like in real life :D.
Updated the example HTML page to include A-Mountain, but it does not use the sun position available in this component - future versions of the sky are planned, however, which also include a lighting component. I also increased the size of the dome in order to accommodate the mountains, which are quite large.
Really this new version is quite a fun upgrade from the last version (seen here). I really like how the component has evolved and I really hope I can make some really nice improvements in the future. My personal wishlist would be to improve the quality of the sun (from being just a ball into looking "sunlike"), an integrated lighting system with hooks for people's custom lighting systems, improved GPU performance (if I can ever figure out how XD), maybe some secondary effects like godrays and bloom, and I'd really really really love to add clouds. But that's just my personal super wish-list of happiness. But now that this is done, I'm probably moving back to my other semi-stealth project, a fluid dynamics system ^_^.