(CI and Docker) Use vc-deps 1.8.1, ci-docker 12.0.0, Qt 6.6.1.
(Deps) Use pranav/indicators 222382c.
(Progress indicators) Wait a minimum amount of time before reporting progress. Default is 1 sec but is configurable with --progress-interval in apps that support it.
(apps) Remove so many old Render* files and functions.
(utils) Rename vc_ppm_to_pointset to vc_ppm_tool and add it to install list. Adds ability to export a cropped PPM.
(*FromPPM) Support for progress intervals, general tidying and modernization.
(RenderFromPPM) Add option to save PPM to a new file. Useful when using the --transform options.
(Segment) Support for progress intervals.
(PointSetIO) Don't keep allocating row vectors when reading ordered point sets.
(PerPixelMap) Add getMappingCoords() and numMappings() for optimized PPM iteration, tidying, and modernization.
(PerPixelMap) Add Crop static member function.
(DateTime) Add DurationFromString().
(Transforms) Optimize PPM specialization for ApplyTransform.
(Texturing) Tidy and modernize all of the texturing algorithms and minimize their memory usage.
Miscellaneous
Multi-threaded Texturing
Commit cb365928 implemented a thread pool into CompositeTexturing for rendering the pixels in parallel. In a simple test, overall runtime for a large PPM was worse than the single-threaded version. A cursory investigation indicated that the whole process is primarily IO bound, and that better precaching (and volume chunking?) would be required for multi-threading to make a significant impact. Since that's a larger problem than the scope of this PR, the MT was removed.
Changes
vc-deps 1.8.1
,ci-docker 12.0.0
,Qt 6.6.1
.pranav/indicators 222382c
.--progress-interval
in apps that support it.Render*
files and functions.vc_ppm_to_pointset
tovc_ppm_tool
and add it to install list. Adds ability to export a cropped PPM.--transform
options.getMappingCoords()
andnumMappings()
for optimized PPM iteration, tidying, and modernization.Crop
static member function.DurationFromString()
.ApplyTransform
.Miscellaneous
Multi-threaded Texturing
Commit cb365928 implemented a thread pool into CompositeTexturing for rendering the pixels in parallel. In a simple test, overall runtime for a large PPM was worse than the single-threaded version. A cursory investigation indicated that the whole process is primarily IO bound, and that better precaching (and volume chunking?) would be required for multi-threading to make a significant impact. Since that's a larger problem than the scope of this PR, the MT was removed.