star-vx

Structuring voxels for ray-tracing
git clone git://git.meso-star.fr/star-vx.git
Log | Files | Refs | README | LICENSE

commit e8f630e55a05b73743abec93d7920049694085b0
parent 1c25f43c6c8d4eb081051a4706720401da9e5091
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Fri, 16 Nov 2018 10:48:30 +0100

Rewrite the overview section of the README

Diffstat:
MREADME.md | 42+++++++++++++++++++++++++++++++-----------
Msrc/svx.h | 2+-
2 files changed, 32 insertions(+), 12 deletions(-)

diff --git a/README.md b/README.md @@ -1,14 +1,34 @@ # Star-VoXel -This library manage a 3D scene composed of voxels. +Star-VX is C library whose purpose is to manage volume elements - named voxels +- structured as a set of axis aligned cuboids. This library does not know +anything about the volumic 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-VX proposes 2 hierarchical data structures: the *octree* and the *binary +tree*. The first one is used to structure regular 3D data while the second one +is for 1D data. Star-VX build the required data structure following a +bottom-top strategy: the user submits the set of data to partition as well as +the policy used to define when voxels can be merged and the merge operator +itself. The way data are accessed through *indexing* or *ray-tracing* can also be +finely tuned by the user. In addition of the probe position or the ray to +trace, one can provide callbacks to stop traversal at a hierarchy level that is +not a leaf, perform computations at the traversed leaf, discard leafs, etc. +This gives a full control of the host application on the data structure while +its memory representation and its accessors are still fully managed internally +by Star-VX. ## How to build -This program relies on the [CMake](http://www.cmake.org) and the -[RCMake](https://gitlab.com/vaplv/rcmake/) packages to build. -It also depends on the -[RSys](https://gitlab.com/vaplv/rsys/), -library. +Star-VX relies on the [CMake](http://www.cmake.org) and the +[RCMake](https://gitlab.com/vaplv/rcmake/) packages to build. It also depends +on the [RSys](https://gitlab.com/vaplv/rsys/), library. It is compatible +GNU/Linux as well as Microsoft Windows 7 and later, both in 64-bits on x86-64 +architectures. It was successfully built with the [GNU Compiler +Collection](https://gcc.gnu.org) (versions 4.8.5 and later) as well as with +Microsoft Visual Studio 2015. First ensure that CMake is installed on your system. Then install the RCMake package as well as the aforementioned prerequisites. Finally generate the @@ -20,8 +40,8 @@ informations on CMake. ## Licenses -This is a free software copyright (C) 2018 Université Paul Sabatier, -|Meso|Star> 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. - +Star-VX is free software copyright (C) 2018 Université Paul Sabatier +(<contact-edstar@laplace.univ-tlse.fr>), |Meso|Star> (<contact@meso-star.com>). +It is 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. diff --git a/src/svx.h b/src/svx.h @@ -97,7 +97,7 @@ struct svx_voxel_desc { void* ctx); /* Pointer toward user data */ void* context; /* Client side data sent as the last argument of the clbbs */ - size_t size; /* Size in bytes of a voxel. Must be <= SVX_MAX_SIZEOF_VOXE */ + size_t size; /* Size in bytes of a voxel. Must be <= SVX_MAX_SIZEOF_VOXEL */ }; #define SVX_VOXEL_DESC_NULL__ { NULL, NULL, NULL, NULL, 0 }