Add Aurora Night Effect
Release 0.14.3
STPAurora
To improve realism of night time, we also add a procedurally generated and rendered aurora and enable its rendering in SuperDemo+. Aurora renderer can be found in STPAurora.
General fixes and improvement
- Disambiguate conversion of some types in
STPTerrainParaLoader. - Add a new function to clear texture image for
STPTexture. - Formalise and clarify copyright notices for several 3rd-party licenses.
STPScenePipeline
- Improve robustness of light capacity checking when add a new light.
- For performance consideration, the first environment object is not forced to be drawn even when visibility is zero.
- Instead, the environment area is cleared to black before drawing, or user-defiend clear colour if no environment object is available.
- Post process buffer colour attachment is no longer cleared every frame because this already guarantees to draw over the whole screen every frame, even when there is no environment object.
- Aerial perspective now works even when there is no environment object.
- Environment clear colour is set to black when there is at least one environment object presented in the scene pipeline, or user-defined value if none.
- Refactor some function calls.
- Fix a bug that the ambient occlusion output framebuffer does not have stencil attachment causing computation to be done to the whole screen.
- Remove inline definitions for
add()function inSTPScenePipeline.- Now, if you are going to add a shadow opaque object, you need to call the
add()function with the same opaque object twice, each time it will be cast to non-shadow opaque object and shadow opaque object implicitly.
- Now, if you are going to add a shadow opaque object, you need to call the
STPSun
- Add a new setting to allow specifying the start of the year.
- Change the timing specification from the discrete tick to continuous second.
- Simplify sun orbiting calculation.