Ray Tracing Framework
Release 0.15.0
This big release brings a shiny new framework for ray tracing to improve the rendering quality; it is so new such that we don't have time to test it properly. The new feature is currently detached from the main rendering pipeline, and the remaining works is expected to be finished in the next major release. Plus many more bug fix and optimisation...
The main thing about this release is not about this new framework because it is not usuable yet, but all critical fixes and improvement to the current engine.
What's new
STPExtendedScenePipeline, as an extension to STPScenePipeline, focuses on ray traced rendering as opposed to rasterisation thanks to OptiX. This pipeline currently only does ray casting rather than tracing for testing intersection of reflection and transmission ray from water renderer; more amazing rendering algorithms with ray tracing are coming in the future.
See issue #50 for more details regarding the framework.
Quick summary of major changes
The major changes are here because they are essential before we can implement the new framework. There are too many, you may want to read the release notes from the preview versions for full detail.
SuperTerrain+
- Overhaul to NVRTC runtime compiler framework with better user-control and memory management. NVRTC compiler and CUDA driver module management are separated into
STPDeviceRuntimeBinaryandSTPDeviceRuntimeProgramrespectively, and they now use a stateless model. - Overhaul to configure template including renaming and namespace enclosure.
- Overhaul to API error handler,
STPGenericErrorHandlerBlueprintis included for easier future integration to other APIs. - Overhaul to smartly managed CUDA objects and put them to
STPSmartDeviceObject. - Overhaul to
STPThreadPoolfor more robust destruction control. - Remove
STPMemoryPool.
SuperRealism+
- Add more GL types to
STPOpenGL. - Refactor all GL object class to be consistent with GL official API signature.
- Simplify abstract rendering component class
STPSceneObjectby merging shadow and non-shadow variant ofSTPOpaqueObjectand removingSTPDepthRenderGroup. Add a new type of objectSTPAnimatedObjectwhich is currently used bySTPWaterand all environment objects. - Change the logic for
STPScreenandSTPAuroraand application is no longer forced to derive from them.