A Starry Sky Versions Save

A Realistic Skybox for A Frame! :D

v1.1.0

1 year ago
  • Added ray-marched clouds using 3D Simplex Noise combined with FBM worley noise, first contact transmittance/ambient lighting and Beer's Law/Henyay-Greenstein lighting. Based roughly around the ideas described in Rendering volumetric clouds using signed distance fields.
  • Added support for ray-marched aurora borealis using blue noise ray-jittering to reduce banding effects as described in Ray Marching Fog With Blue Noise and using the caustic shader effect from Believable Caustics Reflectionsv.
  • Provide advanced atmospheric perspective using a modified Preetham model described via the code in Three.js as the basic source.
  • Approximated the Earth's shadow and fixed some bugs in our sphere ray tracing methods.
  • Swapped out emulated 3D textures for Web GL 2 3D textures.
  • Fixed bug with lunar intensity and eliminated crusty moon edges by adding in mipmapping and increased anisotropic sampling.
  • Swapped out the native bloom effect for Three.js's bloom postprocessing pipeline.
  • Switch from gamma based correct to Linear-sRGB correction for lighting colors in shaders.
  • Added support for changing the intensity of the sun, moon and ambient lighting intensities.
  • Added the ability to change the bloom parameters for the sun and moon.
  • Added the ability to change more atmospheric parameters, including starting camera height, sun intensity, moon intensity, mie beta, rayleigh beta, ozone beta, atmospheric height, radius of the planet, rayleigh scale height, mie scale height, ozone percent of rayleigh, number of lut raytrace steps and lut rotational ray trace steps.
  • Fixed bug where sky, moon and sun would not track the camera position as it moved.
  • Implemented support for a few basic getters and even a setter for very rudimentary programmatic API for the sky in the event that someone might want access to some of the values associated with the sky while being sure they are getting the objects associated with the sky itself. These include getSunPosition(), getMoonPosition(), getSunRadius(), getMoonRadius(), getDominantLightColor(), getDominantLightIntensity(), getIsDominantLightSun(), getAmbientLights(), getActiveCamera() and setActiveCamera(camera). These functions can be accessed from the global namespace, StarrySky.Methods.