Star-VoXel Manage volumetric data
Star-VX 0.2 is available
- Get source code: git
Star-VoXel is a C library whose purpose is to manage volumetric elements, named voxels, structured as a set of axis aligned cuboids. This library does not know anything about the volumetric data that it handles: it only provides data structures that partition voxels according to user criteria. It also implements efficient ways to index voxels into the space partitioning data structures or to access them through ray-tracing.
Star-VoXel implements 2 hierarchical data structures: the binary tree and the octree that are used to partition 1D or 3D data, respectively. For both structures, data are partitionned following a bottom-up strategy: the caller submits the raw data to Star-VoXel that it recursively structures from the leaf (the user data) to the root of the tree.
The policies used to merge input data as well as the merge operator itself are defined by the caller; Star-VoXel settles for building the hierarchical structure only.
The way data are accessed through indexing or ray-tracing can be finely tuned by the caller. Beyond the probe position or the ray to trace, the user can provide callbacks to stop the traversal at any hierarchy level, perform computations at the traversed node, discard leafs, etc. This API gives to the host application a full control on the hierarchical data structures while its memory representation and its accessors are still fully managed internally by Star-VoXel.
Release notes
Version 0.2.1
Sets the CMake minimum version to 3.1: since CMake 3.20, version 2.8 has become obsolete.
Version 0.2
- Update the profile of the functors invoked on node traversal: the ray origin, direction and range are now provided as input arguments.
- Force the invocation of the challenge and filter functors on the root node. Previously these functors were not called on the root;the challenging and filtering was starting on its children.
Version 0.1
- Add the
svx_tree_write
and thesvx_tree_create_from_stream
functions used to serialize and de-serialize the tree data structure, respectively.
License
Copyright © 2018, 2020, 2021 |Meso|Star> (contact@meso-star.com). Copyright © 2018 Université Paul Sabatier (contact-edstar@laplace.univ-tlse.fr). Star-VoXel is free software released under the GPL v3+ license: GNU GPL version 3 or later. You are welcome to redistribute it under certain conditions; refer to the COPYING file for details.