diff --git a/documentation/images/MinecraftAndVoxatron.jpg b/documentation/images/MinecraftAndVoxatron.jpg new file mode 100644 index 00000000..4c23d3c1 Binary files /dev/null and b/documentation/images/MinecraftAndVoxatron.jpg differ diff --git a/library/Doxyfile.in b/library/Doxyfile.in index c6feb56b..030d0173 100644 --- a/library/Doxyfile.in +++ b/library/Doxyfile.in @@ -553,7 +553,7 @@ WARN_FORMAT = "$file:$line: $text" # and error messages should be written. If left blank the output is written # to stderr. -WARN_LOGFILE = doxygen.log +WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files @@ -691,7 +691,7 @@ EXAMPLE_RECURSIVE = NO # directories that contain image that are included in the documentation (see # the \image command). -IMAGE_PATH = +IMAGE_PATH = ../../documentation/images # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program diff --git a/library/PolyVoxCore/include/PolyVoxCore/CubicSurfaceExtractor.h b/library/PolyVoxCore/include/PolyVoxCore/CubicSurfaceExtractor.h index e1703e3f..0d757d25 100644 --- a/library/PolyVoxCore/include/PolyVoxCore/CubicSurfaceExtractor.h +++ b/library/PolyVoxCore/include/PolyVoxCore/CubicSurfaceExtractor.h @@ -32,6 +32,16 @@ freely, subject to the following restrictions: namespace PolyVox { + /// The CubicSurfaceExtractor creates a mesh in which each voxel appears to be rendered as a cube + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + /// Games such as Minecraft and Voxatron have a unique graphical style in which each voxel in the world appears to be rendered as a single cube. Actually rendering a cube for each voxel would be very expensive, but in practice the only faces which need to be drawn are those which lie on the boundary between solid and empty voxels. The CubicSurfaceExtractor can be used to create such a mesh from PolyVox volume data. As an example, images from Minecraft and Voxatron are shown below: + /// + /// \image html MinecraftAndVoxatron.jpg + /// + /// Before we get into the specifics of the CubicSurfaceExtractor, it is useful to understand the principles which apply to *all* PolyVox surface extractors and which are described in the Surface Extraction document (ADD LINK). From here on, it is assumed that you are familier with PolyVox regions and how they are used to limit surface extraction to a particular part of the volume. + /// + /// The images shown above shoulld hopefully make it clear how the resulting mesh should look, but the process is more easily explained in 2D. Hopefully you will find that the extension to 3D is intuitive. + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// template > class CubicSurfaceExtractor {