Skip to content

Procedural Sky Rendering

Choose a tag to compare

@stephen-hqxu stephen-hqxu released this 18 Dec 16:31

Release 0.9.3

  • Add a function in STPTerrainParaLoader to load sun and atmosphere settings from the INI.
  • Fix some maths error in the sun shader.
  • Fix more maths error in sun direction calculation function.
  • Enable procedural sky rendering in the demo program. Enjoy the realism 😄
  • Simplify calculation for scattering to improve performance.

SuperRealism+

  • Add STPTexture as a GL texture object manager.
  • Add STPRandomTextureGenerator as a utility of noise texture generation for GLSL shader. It is done using cuRAND device library.
  • Perform smoothing to texture splatmap using volumetric noise, now the edge of texture region blends more natrually to adjacent regions. Algorithm is buit based on Efficient Soft-Edged Shadows Using Pixel Shader Branching.

General fixes and improvement

  • Improve error handling in STPStart and catches exception thrown during main engine setup and rendering.
  • Attach resource folder to the repo.
  • Fix a typo atomsphere to atmosphere.
  • Keep improving STPWorldManager, now it copies buffer from cache only when the chunk status has been marked as true previously. This avoids problem of chunk not getting refreshed when chunk is loaded buffer the central chunk switches.
  • Update the camera rotation specification, instead of taking an absolute cartesian position, it now takes a relative direction offset. This addresses the problem of having sudden camera rotation when the camera moved for the first time because the lastOffsetPosition was set to zero initially by default.
  • Remove some types from STPTextureType that are probably never going to be used.
  • Move most hard-coded settings in the shader to INI, following a suggestion in #32.
  • Remove normal, tangent and bitangent attributes from heightfield renderer.