Texture Splatmap Generation
Release 0.8.9
Enabling splatmap generation in SuperDemo+
In this release we enable the pipeline for texture splatmap generation and it can be visualised during runtime. We will be focusing on applying the texture according to the splatmap and parameter tweaking later.
- Setup external texture loading which takes place in a new sub-class
STPWorldSplattingAgentinSTPWorldManagerin the demo program.- Setup texture loading and texture database in this new sub-class.
- Augment
STPTextureStoragein the demo program for smart texture memory management. - Enable parallel texture loading from file system in
STPSkyRendererandSTPWorldManager. - Add
STPCommonGenerator.cuin the demo program as a data holder for RTC, allowing all generator scripts to be linked as a single program.
SuperTerrain+ Texture Definition Language
- Introduce TDL as a handy custom script for defining texture splatting rules.
- Refactor the lexer and parser with error handling improvement.
- Add a new exception type
STPInvalidSyntaxfor any lexing and parsing error. - Fix a problem of calling
front()from an emptystd::string_view. This is because neitherstd::stringnorstd::string_viewincludes null terminator.
General fixes and improvement
- Eliminate unused texture type when generating texture information in
STPTextureFactory. - Remove
__constant__qualifier for contant values inSTPSimplexNoisedevice kernel. - Refactor all runtime compilers and merge all of them into a single linkable program in
STPCommonCompiler. - Change
rehash()toreserve()forstd::unordered_mapused inSTPTextureFactory. - Improve robustness of
STPSingleHistogramFilter, the last working thread will guarantee to finish all remaining tasks if the texture dimension is not divisible by degree of concurrency. Change the threading strategy soSTPSingleHistogramFilteris now thread safe and results in better concurrency with less waiting. Remove critical section in the demo program when calling histogram filter. - Move
ExceptiontoSuperTerrain+root directory. - Refactor functions to attach inherited object and remove unused functions from
STPWorldManager. - Fix an incorrectly set launch configuration in
STPSplatmapGenerator. - Resolve #28 by completely removing stream callback to deallocate host memory for
STPFreeSlipTextureBufferandSTPBiomefieldGenerator. It's now simply done using a stream sync call.