Skip to content

Implement automatic LOD generation

Morten Ofstad requested to merge feature/morten.ofstad/LODGeneration into master
  • Added DownSampleAndCopyRegion() function that is going to be used for LOD generation.
  • Fix spelling of sse2neon target in CMakeLists, add sse2neon to .gitignore.
  • Allow remapping between different LODs and call DownSampleAndCopyRegion instead of DispatchBlockCopy from VolumeDataRequestProcessor::RequestRemap() in case of LOD generation.
  • Fix size[1] being passed instead of size[2] and wrong determination of lastValid[XYZ].
  • Added GenerateLOD test to check that LOD generation works as expected.
  • Added code to create and keep track of parent VolumeDataPageAccessors/VolumeDataPages to automatically update LODs (VolumeDataPage::WriteIntoLOD doesn't do anything yet).
  • Move BlockCopy/FixupBorder/DownSampleAndCopyRegion functions from VolumeDataRequestProcessor.cpp to DataBlock.cpp/DataBlock.h.
  • Use only the global VolumeDataFormat/VolumeDataComponents enums in DataBlock to remove dependency on VolumeDataChannelDescriptor.
  • Implemented WriteIntoLOD method for VolumeDataPage.
  • Do not generate missing data errors from sparse VDSs.
  • Add separate test for automatically creating LODs.
  • Make parent page dirty and update hash in WriteIntoLOD().
  • Update SEGYImport with options to control LOD generation.
  • Use int64_t for chunk indices.

Merge request reports