Better Algorithm Library for Runtime Compilation
Release 0.5.4
SuperDemo+ is temporarily disabled for this release due to the high amount of updates to the main engine, we will make it work in the next release.
Runtime compiler improvement
- Separate
SuperAlgorithm+into two libraries, beingSuperAlgorithm+Hostfor host initialisation, andSuperAlgorithm+Devicefor device execution.
For static complication, both libraries need to be included with the application. For runtime complication, only
SuperAlgorithm+Hostis required, and addSuperAlgorithm+Deviceto library dependencies of JIT linker.
- Make constants compile-time initialised to eliminate the need of calling initialisation function in
STPSimplexNoise.
Shared library
SuperTerrain+engine can now support shared library build.- Add
STPEngineInitialiser. If shared library is used or there's no other OpenGL contexts bounded to GLAD being created in the application regardlessly, underlying functions must be called before calling other STP APIs to initialise OpenGL and CUDA context. - Add CMake option to enable device link on core engine static library build.
General improvement and fixes
- Change all namespaces in
SuperDemo+toSTPDemofor consistent style. - Add
STPAlgorithmDefine.hand move contents fromSTPCoreDefine.h. - Suffix template name with
.into avoid confusion. - Rename
STPRainDropSetting.hpptoSTPRainDropSetting.hto avoid confusion. - Pre-compile
glad.cand link to avoid duplicate complications. - Further reduces compile time by moving definitions to source files instead of inlining.
- Remove some redundant CMake codes.