From 17827fe8a62493809435028c9a1cdc32ea8eb7c2 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 11 Sep 2012 00:20:42 +0200 Subject: [PATCH 1/4] Tidying up documentation files. --- documentation/ModifyingTerrain.rst | 4 +++- documentation/TextureMapping.rst | 20 +++++++++++++------- documentation/index.rst | 17 +++++++++++++++-- 3 files changed, 31 insertions(+), 10 deletions(-) diff --git a/documentation/ModifyingTerrain.rst b/documentation/ModifyingTerrain.rst index a3760bfd..7bc06a15 100644 --- a/documentation/ModifyingTerrain.rst +++ b/documentation/ModifyingTerrain.rst @@ -1 +1,3 @@ -Placeholder. \ No newline at end of file +================= +Modifying Terrain +================= \ No newline at end of file diff --git a/documentation/TextureMapping.rst b/documentation/TextureMapping.rst index f3c7691c..78ee992f 100644 --- a/documentation/TextureMapping.rst +++ b/documentation/TextureMapping.rst @@ -4,13 +4,16 @@ Texture Mapping The PolyVox library is only concerned with operations on volume data (such as extracting a mesh from from a volume) and deliberatly avoids the issue of rendering any resulting polygon meshes. This means PolyVox is not tied to any particular graphics API or rendering engine, and makes it much easier to integrate PolyVox with existing technology, because in general a PolyVox mesh can be treated the same as any other mesh. However, the texturing of a PolyVox mesh is usually handled a little differently, and so the purpose of this document is to provide some ideas about where to start with this process. This document is aimed at readers in one of two positions: -1) You are trying to texture 'Minecraft-style' terrain with cubic blocks and a number of different materials. -2) You are trying to texture smooth terrain produced by the Marching Cubes (or similar) algoritm. + +1. You are trying to texture 'Minecraft-style' terrain with cubic blocks and a number of different materials. +2. You are trying to texture smooth terrain produced by the Marching Cubes (or similar) algoritm. + These are certainly not the limit of PolyVox, and you can choose much more advanced texturing approaches if you wish. For example, in the past we have texture mapped a voxel Earth from a cube map and used an animated *procedural* texture (based on Perlin noise) for the magma at the center of the Earth. However, if you are aiming for such advanced techniques then we assume you understand the basics in this document and have enough knowledge to expand the ideas yourself. But do feel free to drop by and ask questions on our forum. Traditionally meshes are textured by providing a pair of UV texture coordinates for each vertex, and these UV coordinates determine which parts of a texture maps to each vertex. The process of texturing PolyVox meshes is more complex for a couple of reasons: -1) PolyVox does not provide UV coordinates for each vertex. -2) Voxel terrain (particulaly Minecraft-style) often involves many more textures than the GPU can read at a time. + +1. PolyVox does not provide UV coordinates for each vertex. +2. Voxel terrain (particulaly Minecraft-style) often involves many more textures than the GPU can read at a time. By reading this document you should learn how to work around the above problems, though you will almost certainly need to follow provided links and do some further reading as we have only summarised the key ideas here. @@ -30,7 +33,8 @@ Triplanar Texturing ------------------- The most common approach to texture mapping smooth voxel terrain is to use *triplanar texturing*. The basic idea is to project a texture along all three main axes and blend between the three texture samples according to the surface normal. As an example, suppose that we wish to write a fragment shader to apply a single texture to our terrain, and assume that we have access to both the world space position of the fragment and also its normalised surface normal. Also, note that your textures should be set to wrap because the world space position will quickly go outside the bounds of 0.0-1.0. The world space position will need to have been passed through from earlier in the pipeline while the normal can be computed using one of the approaches in the lighting (link) document. The shader code would then look something like this [footnote: code is untested as is simplified compared to real world code. hopefully it compiles, but if not it should still give you an idea of how it works]: -.. code-block:: c++ +.. code-block:: glsl + // Take the three texture samples vec4 sampleX = texture2d(inputTexture, worldSpacePos.yz); // Project along x axis vec4 sampleY = texture2d(inputTexture, worldSpacePos.xz); // Project along y axis @@ -43,7 +47,8 @@ Note that this approach will lead to the texture repeating once every world unit This idea of triplanar texturing can be applied to the cubic meshes as well, and in some ways it can be considered to be even simpler. With cubic meshes the normal always points exactly along one of the main axes, and so it is not necessary to sample the texture three times nor to blend the results. Instead you can use conditional branching in the fragment shader to determine which pair of values out of {x,y,z} should be used as the texture coordintes. Something like: -.. code-block:: c++ +.. code-block:: glsl + vec4 sample = vec4(0, 0, 0, 0); // We'll fill this in below // Assume the normal is normalised. if(normal.x > 0.9) // x must be one while y and z are zero @@ -66,7 +71,8 @@ Both the CubicSurfaceExtractor and the MarchingCubesSurfacExtractor understand t The following code snippet assumes that you have passed the material identifier to your shaders and that you can access it in the fragment shader. It then chooses which colour to draw the polygon based on this identifier: -.. code-block:: c++ +.. code-block:: glsl + vec4 fragmentColour = vec4(1, 1, 1, 1); // Default value if(materialId < 0.5) //Avoid '==' when working with floats. { diff --git a/documentation/index.rst b/documentation/index.rst index e88fb3b2..4512d077 100644 --- a/documentation/index.rst +++ b/documentation/index.rst @@ -1,10 +1,10 @@ Welcome to PolyVox's documentation! =================================== -Contents: +User Guide: .. toctree:: - :maxdepth: 2 + :maxdepth: 1 Prerequisites install @@ -14,7 +14,20 @@ Contents: ModifyingTerrain LevelOfDetail Threading + + +Examples: + +.. toctree:: + :maxdepth: 1 + tutorial1 + +Other Information: + +.. toctree:: + :maxdepth: 1 + changelog FAQ From ff3f414315775787ebb181619a8f73c6c432af5d Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 11 Sep 2012 23:25:14 +0200 Subject: [PATCH 2/4] Small changes to documentation. --- documentation/TextureMapping.rst | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/documentation/TextureMapping.rst b/documentation/TextureMapping.rst index 78ee992f..dbfa9952 100644 --- a/documentation/TextureMapping.rst +++ b/documentation/TextureMapping.rst @@ -104,7 +104,7 @@ ADD FIGURE HERE There are a couple approaches we can adopt to combat this problem. However, the solutions do have some performance and/or memory cost so we should first realise that this issue only applies to a small number of the tringles in the mesh. Typically most triangles will be using the same material for all three vertices, and so it is almost certainly worth splitting the mesh into two pieces. One peice will contain all the triangles which have the same material and can be rendered as normal. The other peice will contain all the triangles which have a mix of materials, and for these we use the more complex rendering techniques below. Note that splitting the mesh like this will also increase the batch count so it may not be desirable in all circumstances. -NOTE - THESE SOLUTIONS ARE WORK IN PROGRESS. CORRECTLY BLENDING MATERIAL IS AN AREA WHICH WE ARE STILL RESEARCHING, AND IN THE MEAN TIME YOU MIGHT ALSO BE INTERESTED IN OUR ARTICLE IN GAME ENGINE GEMS. +NOTE - THESE SOLUTIONS ARE WORK IN PROGRESS. CORRECTLY BLENDING MATERIAL IS AN AREA WHICH WE ARE STILL RESEARCHING, AND IN THE MEAN TIME YOU MIGHT ALSO BE INTERESTED IN OUR ARTICLE IN GAME ENGINE GEMS. See: http://books.google.com/books?id=WNfD2u8nIlIC&lpg=PR1&dq=game%20engine%20gems&pg=PA39#v=onepage&q&f=false One approach is to attach an alpha value to each vertex so that corners of a triangle can optionally be faded out. If a triangle has the same material value at each vertex then we also give it full alpha at each vertex and the triangle draws normally, but if it has a differnt material for each vertex then we duplicate the triangle three times (once for each material). Each new triangle should then use the same material at each vertex, this material being one of those from the original triangle. The alpha values of the vertices of the new triangles are set such that when the three triangles are drawn on top of each other with additive alpha blending, the desired smoothly shaded triangle results. @@ -134,21 +134,19 @@ If your required number of textures do indeed exceed the available number of tex A more practical approach would be to break the mesh into a smaller number of pieces such that each mesh uses several textures but less than the maximum number of texture units. For example, our mesh with one hundred materials could be split into ten meshes, the first of which contains those triangles using materials 0-9, the seconds contains those triangles using materials 10-19, and so forth. There is a trade off here between the number of batches and the number of textures units used per batch. -Furthermore, you could realise that although a your terrain may use hundreds of different textures, any given region is likely to use only a small fraction of those. We have yet to experiment with this, but it seems if you region uses only (for example) materials 12, 47, and 231, then you could conceptually map these materials to the first three textures slots. This means that for each region you draw the mapping between material IDs and texture untis would be different. This may require some complex logic in the application but could allow you to do much more with only a few texture units. We will investigate this furthr in the future. +Furthermore, you could realise that although your terrain may use hundreds of different textures, any given region is likely to use only a small fraction of those. We have yet to experiment with this, but it seems if you region uses only (for example) materials 12, 47, and 231, then you could conceptually map these materials to the first three textures slots. This means that for each region you draw the mapping between material IDs and texture untis would be different. This may require some complex logic in the application but could allow you to do much more with only a few texture units. We will investigate this furthr in the future. Texture atlases --------------- Probably the most widely used method is to pack a number of textures together into a single large texture, and to our knowledge this is the approach used by Minecraft. For example, if each of your textures are 256x256 texels, and if the maximum texture size supported by your target hardware is 4096x4096 texels, then you can pack 16 x 16 = 256 small textures into the larger one. If this isn't enough (or if your input textures are larger than 256x256) then you can also combine this approach with multiple texture units or with the mesh splitting described previously. -//Diagram of texture atlases - However, there are a number of problems with packing textures like this. Most obviously, it limits the size of your textures as they now have to be significantly smaller then the maximum texture size. Whether this is a problem will really depend on your application. Next, it means you have to adjust your UV coordinates to correctly address a given texture inside the atlas. UV coordinates for a single texture would normally vary between 0.0 and 1.0 in both dimensions, but when packed into a texture atlas each texture uses only a small part of this range. You will need to apply offsets and scaling factors to your UV coordinates to address your texture correctly. However, the biggest problem with texture atlases is that they causes problems with texture filtering and with mipmaps. The filtering problem occurs because graphics hardware usually samples the surrounding texels and performs linear interpolation to compute the colour of a given sample point, but when multiple textures are packed together these surrounding texels can actually come from a neighbouring packed texture rather than wrapping round to sample on the other side of the same packed texture. The mipmap problem occurs because for the highest mipmap levels (such as 1x1 or 2x2) multiple textures are being are being averaged together. -It is possible to combat these problems but the solution are non-trivial. You will want to limit the number of miplevels which you use, and probably provide custom shader code to handle the wrapping of texture coordinates, the sampling of MIP maps, and the calculation of interpolated values. You can also try adding a border around all your packed textures, perhaps by duplicating each texture and offsetting by half its size. Even so, it's not clear to us at this point whether the the various artefacts can be completely removed. Minecraft handles it by completely disabling texture filtering and using the resulting pixelated look as part of its asthetic. +It is possible to combat these problems but the solutions are non-trivial. You will want to limit the number of miplevels which you use, and probably provide custom shader code to handle the wrapping of texture coordinates, the sampling of MIP maps, and the calculation of interpolated values. You can also try adding a border around all your packed textures, perhaps by duplicating each texture and offsetting by half its size. Even so, it's not clear to us at this point whether the the various artefacts can be completely removed. Minecraft handles it by completely disabling texture filtering and using the resulting pixelated look as part of its asthetic. 3D texture slices ----------------- From b6f59704319ea2547d87d8b9856886d0559e70e8 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 11 Sep 2012 23:50:01 +0200 Subject: [PATCH 3/4] Fixes to LargeVolume documentation. --- library/PolyVoxCore/include/PolyVoxCore/LargeVolume.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/library/PolyVoxCore/include/PolyVoxCore/LargeVolume.h b/library/PolyVoxCore/include/PolyVoxCore/LargeVolume.h index 7d05a391..c7e44db1 100644 --- a/library/PolyVoxCore/include/PolyVoxCore/LargeVolume.h +++ b/library/PolyVoxCore/include/PolyVoxCore/LargeVolume.h @@ -42,6 +42,8 @@ freely, subject to the following restrictions: namespace PolyVox { + template class ConstVolumeProxy; + /// The LargeVolume class provides a memory efficient method of storing voxel data while also allowing fast access and modification. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /// A LargeVolume is essentially a 3D array in which each element (or voxel) is identified by a three dimensional (x,y,z) coordinate. @@ -49,6 +51,7 @@ namespace PolyVox /// extractors) which form the heart of PolyVox. The LargeVolume class is templatised so that different types of data can be stored within each voxel. /// /// Basic usage + /// /// The following code snippet shows how to construct a volume and demonstrates basic usage: /// /// \code @@ -73,6 +76,7 @@ namespace PolyVox /// that the width is 64 when the range of valid x coordinates goes from 0 to 63. /// /// Data Representaion + /// /// If stored carelessly, volume data can take up a huge amount of memory. For example, a volume of dimensions 1024x1024x1024 with /// 1 byte per voxel will require 1GB of memory if stored in an uncompressed form. Natuarally our LargeVolume class is much more efficient /// than this and it is worth understanding (at least at a high level) the approach which is used. @@ -88,6 +92,7 @@ namespace PolyVox /// recompressed and moved out of the cache. /// /// Achieving high compression rates + /// /// The compression rates which can be achieved can vary significantly depending the nature of the data you are storing, but you can /// encourage high compression rates by making your data as homogenous as possible. If you are simply storing a material with each /// voxel then this will probably happen naturally. Games such as Minecraft which use this approach will typically involve large areas @@ -99,6 +104,7 @@ namespace PolyVox /// your density values to reduce this problem (this threasholding should only be applied to voxels who don't contribute to the surface). /// /// Paging large volumes + /// /// The compression scheme described previously will typically allow you to load several billion voxels into a few hundred megabytes of memory, /// though as explained the exact compression rate is highly dependant on your data. If you have more data than this then PolyVox provides a /// mechanism by which parts of the volume can be paged out of memory by calling user supplied callback functions. This mechanism allows a @@ -129,6 +135,7 @@ namespace PolyVox /// anymore. But you still need to be ready to then provide something to PolyVox (even if it's just default data) in the event that it is requested. /// /// Cache-aware traversal + /// /// You might be suprised at just how many cache misses can occur when you traverse the volume in a naive manner. Consider a 1024x1024x1024 volume /// with blocks of size 32x32x32. And imagine you iterate over this volume with a simple three-level for loop which iterates over x, the y, then z. /// If you start at position (0,0,0) then ny the time you reach position (1023,0,0) you have touched 1024 voxels along one edge of the volume and @@ -142,13 +149,11 @@ namespace PolyVox /// is your cache sise is only one. Of course the logic is more complex, but writing code in such a cache-aware manner may be beneficial in some situations. /// /// Threading + /// /// The LargeVolume class does not make any guarentees about thread safety. You should ensure that all accesses are performed from the same thread. /// This is true even if you are only reading data from the volume, as concurrently reading from different threads can invalidate the contents /// of the block cache (amoung other problems). //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - template class ConstVolumeProxy; - template class LargeVolume : public BaseVolume { From bd5c8f4e81adcf5ea7a5d329fafd08f9d124b0e5 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 12 Sep 2012 11:55:19 +0200 Subject: [PATCH 4/4] Started documenting CubicSurfaceExtractor. --- documentation/images/MinecraftAndVoxatron.jpg | Bin 0 -> 113536 bytes library/Doxyfile.in | 4 ++-- .../PolyVoxCore/CubicSurfaceExtractor.h | 10 ++++++++++ 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 documentation/images/MinecraftAndVoxatron.jpg diff --git a/documentation/images/MinecraftAndVoxatron.jpg b/documentation/images/MinecraftAndVoxatron.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4c23d3c1d1202127bd791eda41102a22109a8ffd GIT binary patch literal 113536 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 JoW+F?M4F%nQ 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%0DeeB`H2CHH{{Ux6K2F}aZWb>aU_=D@tA$B1 z$E7jH5&OOxfmrvLx!?xCisJ zZS!IDBfIVJTM-RdGDP$cMT!~$i1d~sJ}t%bd$f|?;+1O(ybEkaCm(928_VXZ;%><( zw+T1{ifMs3Tz3xN2-1X=rgpft z2_>7K7hCjOszgK6mS5k)S5%bjq9$60HRfJsi(5|vsk?#SZ7iY7QByT+kVgA8t}QRU zi6OTv2FCeZKrXP?)fTz7&UtkQT3{NsN5Z2d6eA-0+iNG+km2n8cIbcll9hy`9t1<( zvEjqVk<}|Ta=CkDgp1y%h@^PtXt~nB+QY9yf7GRxVl0m%TpTp9Jm+C?ep}ezrin)0 zx?C}x7l<)t<*F;~QSd3KrqL|1$b3agY&nf3!tQlEoxH`!kYXBbR8voR7lL&p|j zMYU|oHP?9`@z(@!9fX>Z&6Z0CqOfFY7VkD#?egQ*Q0DCC1PXCt z3qc@(U_l!aPt>5gIVK_9v%x#q>G2j8A6?d6pL`g)a~n4r%>?8Kg;$N*s79EOmrm`y zRi3{Xcrovsw4RnXgsuvTBuV=}m)^#i?uB3;2ILDtPYxT3un9lXI2&Yg#Ih0H;rMC8 zM+Ea3K@B7g1@fIO)L(Eq4KKQGs-9>``Nv2O?RM_a_jEc9z_zPmEgp2r+0KGuRogbQ z&C4e476%Kch~tjc3oLRRx@p%D&WY)XhjVwrFD4s0NKL4Tl0qf7cI3#qYg`Fvb>P8w zfTB`_WvYr`LXeI{=H1gy+ik>SsGj(Ytbz9wgq$X$f=x0Z9I@Ns+gffV!`NWYCR;h$ z5&rC1e@sb`+b zTs*sd#@l$+zHTG6NQZva6ePzI`D*H$29B2%g`-08$}Ru^Zr}#O=dJzSMf@B#+6u7w zoY8i=%wa8Qvw5=;NqK1Hw@Y5h34UtI#V!rpvu(j)RDVS% zanv^bKpS56>+n=b-cnO`=(Cc#C0BGy2`Y-th?4583tgNfv*nSvW)x1d^E8ra%(YqfSzef>Jx;>3j|N6y>Pe7~Dk zVktG9rYb7cLTW|(Jh9Xsox|qw6-5_?%TFD{)sa=3qWOC$-6-^0 zn^jw+NW8^D_Jy=dE#B!?3_X`OILE)of+Ud<4&`wzw9O_JPlq-0PU|_&4!*p%_w8|K zSOLBIrf|wJ8=X^7OF=pU>vZt3u^#=1S;a6HGgX$7Y`1!Dhv-7pBGWCuw8!2Nrl+kO z_l)17hZ;6d=?{7ab?=foNLYf2^?ek@cQdEu{9dJ=?z(dnpB_%v@N6gy? zlc$IK_r5AvsC1t=#}EM))E1wma6T6ES$90+o7q4)BTtVMQp0d#w=9S8Qh%$>6iBiX zAN9Ev0!_Qd^hlEM4~nSPG{loc_7zTvhMqpjg1~*MHdqUcuKi;`oMGmOsUf zFfnONd7%K?*>&7q*Pz?SsJDWA;qf{r8wY(G+14#?L9PzvD^Ou z4Pz+H$|@qTZsMAvsCz7jA*Z{>cU6We#E~d ziB+XGB4l=EYR-qJm_A_LSJdGwF*v!_+Sb1J*k7sZWJBCeWn4RM@f6ZF_@C(bi0P2{ zM2p=j!hJ1ntH+P&uekgy2l%S;&{1wwCyBKmK>q+ZTd6u>n#u6iY>5aLi%7Al@cJ9( z%mt6?_$U?5#$u%nmQWm>by$<{+lLJdM8T0tGZ-C$gh&aD?v(D10i#nzVr)`FMvBs1 zBSwQX3{V=z1~M25N=pg)efN9+-tipU@jQF(zu9|7I`VM?nUp^`SVs(98B^$uOxR&s~oDv^X*%Ub6HVW1Z zxajfn%T4WE8iTjyp+dQ@-%us1E^0^`R zn<|zP_R{_FjK1w43O(R4Wzd3)^(VdIgWm^77nQYGOBdIgGHOG^Ci;e#Voy$@dhA1) z{hRTY=icT08=z;sQo~M4v)Bqdi>lWq^F2b=LNNBN48N0~J%8_*wi|pAO3Y`=_pw`$ zW*OpG#eWPh4AR&HR&PZB^BPBnYS#1&!s3;80L(x1s)JSR%qM)m`*!Uc9ZditKKDlp z0?|%Iu4me9lfPdcf0Ol|+@I_o{9<+Q&nzOc_m>TXp8hNmB#Hg&X2+^ia`m?1g0#Ff zv@!nEXBn&dG~M6d^~t<%NUf=Ge7kdsMLOd?qaAxLDM~G|RRBLJZ()FrwjT@bZz}yT z<>Aj{eQPy(Z9pT8=GESu^Mx~x>5q`_f7cp2{s}6HM5_LGP0hFWl+S+1YP~S4I`7rb z(aP@D?s>k@*JuBB*}f_KcdgSXl~nKX>PIc+-{8;limR4gn!gO>TEWtXR}6e#T~71< z#%Rm=4H5f+kEB1 z^7%i()|c*zt2BYHJgqn3d1mb2zP0|{fj;+i^bhl&wUzI=`L`~er*xvhYvy0TscGt; z7oDO6d$mOmt=qfxog(#h?HXavb#@f!M-5F90eDYhgy7x1X;CCE(bRnK7|~R_9%Hkx zCLt`FxNtJ>)6MWmn|G1Rvi%_vmUcOiWv<#5*P3qh(x9rAF_=wWOQk>^cgwCXet`R1$sQ7od6T-;k zbP6PgW_Ggo&`NCuUP&2z2e{8*Yx`-J-6%HrD1iD|y5In|L5tKupk!*m@eM(FEylYe zwP~C6HOP5@a4Qkij36=}Z}i?Heg44f>PD6WGjn>335eET%|8WdLRZ$=)*f(AT0|{w z-Q2rF=|jhRw**wtDnPxCFWaks?>R{~h0V{~N=_hr=V%BP;9@TPl%1t7;7k5i?4YHK zb%f^yXcAOcR;^;msZoJ+xyL*AhRcA&HrKY2<64_UIAQH+-dl=v?J^s9H5Mwp#hF1a z2m-LQ+p{B=C&n)KA7pr9`1qJbl3$!w$=^2>S$46twezy<<}KUJQe_aAFVc^!bIS{g zmxp36Wlb1JW&JUPA7Hub7+W=zRL!suBp06?T0MA~6) zry6^CCb4$D)zIo##a9Mrf%W*j3aMz%USjPH-U$mbmA8i1QGQO@7t>5VWA4Y=3OSAc zE?70bNKL$TJwJU=qeOsZh;~q17aVedUa`ctW>a-&`K#ZW{R~0%v%Q_O1OUP!ywY>O z-dw;P-;0?YIA~p?>6NHc+hffJz{2Qnaj4k;+X) zv0!~7aZ$kJEv8o zMt0{Q)&;Sx;f29^QtO}#d1JIn{il*{LmsOb0H|?$=dyXP8?H@k(gs{+w*~t1!!i;- zHe-dOdaUSbFQ$HGuxs;(3GfvZHtkhPq5RUC5D#9^(sDFgpn)R&78`npkDopTqru<;qEnkZy+`xty}T95@K@)Oj{jdb9T5 z1^@boR#JWyH(Z~GPD&g^#ik3!_zHI|yQ+9jA4#pE!%v}GalX@7%rCxAzUQVz_`7-4 zu{t1n$ftD1=|f7_Hq8*&d7_{mde|ID3?JN=rMz1j@A5z=C_~qV<`=K4JEGG?)r3W}wP zVv!KL-NyxUQiS5%HCL5hO&KwBp`+#R(WSIM;R0WWKd$&mt))oIDArAviQ zO>d*{HiD<9yV5=^BQCKcw%wOj*SbtLvQxc-Z{n_^$1zl7;{M9;E_c35wfQcQj+1Q# ztYxru$QngZ6#Oc;{5Wn41T3|7_*+%|)b{DiQ`lw-8KkJ+p>dyRmuavp+cjzXDlWiJ zzn_hwH!gV%oz3JjRDFB-8r<#UeVzM8ss@K9v4n>8y%_6E+#$AJd)n(!%R^Q$=I-p< zrhRw0>W?pPq@`UozHbW}^q={fw!7NmuSNPwX7(3SbE za{I01iI$#$o^d~u&NSe>h|2$TmKWYZwW|YB$;n1^y=&t(-n?~|!o9(oFddKWBmjgJ zj5h3uQs9<_`ej8mH`)7Ny-rL@gc5{}d1e5H8C;`iL$s0d%8aG68Eru3O{YLB{FGIu zJBwo@7InKFTX6c(joq)UU9*(p{8)THd}MTJRS_%2 zIH!?CLTZ?ho%yP^YWlnbo2rzicjDS9n&|$up?#46OeF6S`;dgX;(WMZr6Bm8fzm|4 zNJ-RpMlj>#`gm1?oQ3H#As#n9L$rnac@F zEdR$vu=d8TWMuL8Q0e4hbQm2roL}m&s~2VeEl_kiNShC>vBfwNChHz`K7uSQ>`@?% zHtuVP==GN=a-F)O$jT`$W@zHWf&}yS5A!m2hJ~JlZk2|ZUkYWT(=Z;h*xI^gVP)GDPO)Uoc!A6cy;p&)+>1AI?v_{8P zautq%vG={Tt`^`GyVA(TwXKVx-a}&de)!4NETVG79KuFw2tlfM9%u&e{GKD50~7uJ z?rgWk2yPt2iSPGDU7vTTCg+xvzcaxdKu(NvQpS zWFH^BY04nJ9i8}Gpx2|MvW6sHdulr?o%|orMqXB=TO_KtW6MQh6LEVqM-rN%(%}W+ zSpJ=b5cX!u#C(l0eC{Z{)O~}X%#cp=`|X^fV8dD(=D`w9U3);)t0?WoAP#TW^%j8&-V0Tc{O%<`b%>^3SD~9{I1eDdulUU>*>>9gFX>c)>7nvhOUK}&ry!-MIs-&WfF#)^5mVZd!VvwjU{=`$+3~{ zv@+5NoCp|WQ^qT9Q<`>;UJe|^F!T#OVE|ZexfMm*avQCA=qQusBW%u^+<^${E#6xw z;;a+UI)+P7SHkVX25Cy2oL!}S9#`0q zM{sWgDrN@4(4zTg&V8B`2DErPv0c+F*S-nWuB#HHgJ$at=a6p+*lyP|`spT)s)J#rBU9@Cmmv}IG=WPukmDV4RO3fAnDFL0s%mqK|>BTNM6Bp0%n z7SM=^KLAwM6mnvYW4P%5yS82yK#yoxhTU&yb5z*teT>gM(@+BbR0jji&^X$W)ZV zd~1r;a#mA-j7ZKXCAH!bRQ%r}v8*$)aL_yU9j{82X3h-@a@rXuIh)+YY0t~-N6FBD zWsuHVzNkch_$iHl_u1D02pk&TC)5mp%vg?JY?^E6SWKW>Tx`rI`jIImX}(oRY()j! zJ^d~+PE{|73c_}jxVB8~5(!hK9WR9n>s;)ODD^t+sdH+Fb!BFFNW@k*sxa@;(OoaGaPAd` zx{z&Yj}_LXBE@gfwS#Qpp2ncyYAawJPs(oPTjl2mEm5-K> zspHlXAgApX_2}~6N4340z%G~8Ew#n+T6Wq`Z_j8(ApX1d*}4?)XqZ~OS=h?TH@8H9 z^CQh&*lwAaYk{sNj?q%P_HLoJ7LQ=pH?D2oA1AyYJGaPZQe#B;s_;4^O#N|>ckpvV z38gH^YVHrTcA?R4{V|-SxqH5cH|HS)n99d$#wevc1bYFsxTK(U5rR`hq z7PQ>z(!(4?B@HVH;@)|H--J_|5w7QUlB8R7ru>SwXb=hk`b(wxL#%M z(OLaEJ#W@YTj-B^83924Ayz-pt_>T?Wk8;;z_Jh*ozm{VzqzRL!PaE8R$uh6RD&X~n|Z z{ZTr<FlJQfE zhfanSEz;{%#P3q3_+xuP>B%hV=eg4cmSw^5%N^=loWviR0lG0?J2bGVgnHB7YdLw+ z3mNp$s2iV3)A=yfWjPPKXniW1;3II4DlM;v!OrvN@Y40)84@qe6uxwdxFMevBf;=HzB>3F{?N$vd02&ZdQ>mGBFL5m z;bn=&^$_L944hb^i8YxSt#p{vc7JI2@9%IG*%*=DZgc(YCwG|KpL-v)WE?gA-u;Ec zC(oVvgtnG1EO`aDD+p&y8@ZKc$2_c}XXml|FdtpKtB^ROXjuQiT`V=0lOyEA#8y|V z@WV$_6PCD4^}-tpOXA-^FE8_44sP89avnSD3mKr$Pz2?8>?DAviA)^P5lhI|^<6Qa z3?JHj-!H_k$%up?*#`Fh;wr0$Jh=m0T-tH(iidGgbm^PkRQ4155B|IMa%Ea#lW$L} z#L%1PK##XDmaLn7Mn1_}l14=KsVX%BPn~c7%l2o$3pc$17*x{^c64Z?*>zsvr+d(^ z2um#TNu82lXaJGW>@~Q#JNmc0)~X?ZeF)qj?o@e02O?S%(WTl^*yB}fu&lDskl`F{ z4Gq3k{E~JhS>9xeo99-t2lWrOitgboW_;@(ACanlL`Q*!JoLL-XMDk90Nv|R^eBRh z`DJr>wYb}gUv1fwbOiAH$ktsGASf3ws3RP;7Li%&`SMu4(>`ky_s;5&0X**M0?QKf zL~&#M^c76klSs|Lkgnv>NooFC=1CQLJShDcmw`wx;O@MutLx3D111kH`X1bg1f=0T z2;nd02No!Jg~abYve+=3WL9q2xA0&qL&@A68ImmZkxiI*97uho#%Kf`$N;8@1A!xu z$w4`A&j}wgs>4Wut^mcwL7jCanY%tTdI<~tch$ff9?NsjGqqol1C?14AHTGepUpe@ z2lygRCkP`z{I|GX8IKK5L>L-^$C(VZ)-+}_w2lGWO0sSOEfpyZMMdW6IM^i`gt zqKR$4J=|w(iSf@t^4+M&Rnc;irQWNF#+h#2YP!j<;ZLBQxdtku&>PikMXgbqI3i?! znh^v2zL|b|@a1#`3`->6$K{p$!FD#j82c`ftq7}1ezj~83do%v4i$tHF^xQ{@R=H& zd`cy|Dh)A5Y8|w^UIfF-EOMxl9GKrahkO{yy*{^M8=nCnzGE2|^-nRCCRW~~z~G$s zqj4`=eB1frYAS9-0U%D^6<|4yibm#88&sGK1VPnL?>k2)@d!iB49i$&FCzQCT>raf zX{Ww6ebtR|6}}A5d+d-6Q8B*foM+56;z2Z%u+ck_TssQbimV~*`)f`>ZY8zsSIT^S zT|C=3343($r4P?x^_S2A5l;83&S~Dn+z~gR-}{SyF^FbG01p;u>KFKp-t77Qj<*@| zkvVY%TZwH1)v3nqi=_VqJ*OJDoHy+oQ#9P8OWd2xXBY5H`64=V;W@tsn`FeR zo}E#3t%(xBkm9@a^A={Kth{pAipEcklTG-k!1h`7D}cW+QS@G;cz|p^>RTmCX;GpIVN&%&U&h-6@t8-pLoNb`w;6dUl=I=Zly_=JAlFJGCq7ACRMXABxq3kLHhp=6_$ z8B7oB!$x4v7++^v+0=0NwmVf7AU!bnne)Kw`9wFJxuR@LA-Dc|l*>ZSg7jiZ)ZN*rN? zF<^Q7s=_PtS7iE0E3fYxI*B5{O?|?_UAJR8Szijq&hx##>Crg7fc8aXr^q`hpr@T>&3TjKa#jo z#9nJ~P*U&1^S;RHJeInKVM!teaKg6mY7I%xarSOti+{A`6u$F5G8)#|4d9{@m+B-9 z)l2yZSd>L7Dyux)Im|$(l%DXN0(f_1zQ5Ii4+Bx$g<{OHYUXD-RHA;_KF}Xfd)*P| zg#k5#ZKUx6DiM`+&2MHv-(G}9rDe)#K2Jl|T(hQF63de`f`gIalm9kMZSPLVyW!Sf zG0)SR>(IYFil(f#?J|GEX!j?7FOpNjd z=)6Q$(ml=-{Z?xW65$m)YYd~~whsSYGsV-Yci^oFfki!u9A%li0W!XQcLqQFcP;d_ zp&X1Xv~hA$-55tl`^rzP*{#ZORH_pHWRqn*a|_2@`#lVuleZ_3uwUDiAyw1bUU;AOG3WEkG;x0^*y?udI3 zC+^P=$vXlHLHJ71U=dq+Bv@1#i1QM?WBa^9f9H*w&;bRox%%^)53L(G+J&`H)B52vbB>%FPANBcyk<2QMEKUjO=WV{CtR-yPbEA`}a5{ zrKhlOO?76(sePZ$zuBbasE;t!-}kPyz2~%ziEVc0L^BHA!T!R4iy4B5i{yLpjCS=qy>*gNn!{4Gf+QJ?kH9JeS-u77-aYU@Ww;HzC23*jSG*xGzmH~R({Q7&C$ zz?Q0PgJaH`$Lz%AOkh?vVNK+NlWh9>$qixw7=Rxh$a1bHS{uf4V6LU z^oD9wrW%%=NQ@jBQ*C#QmCyJcgP5Ox65vr+$C1l!JfKOoeL)V5-A59w~kXhS!83zi-H?Pu*p?VOhNr8xXVAXVt+# z*_LJeHWlFyBN2tWJ#pQ6WM5!j{2xcWWhHk&kHO%la%8NckH&IpHhK5^?m_(f z?)DHLoQ&a%L*BvN(=y&zH|&yZeDMUJ=fevlznM2HC)5L7c|LoyMtRjcn*pUh!(BR- zJhQrqwlf21m*TX88iU$2aXPeZ+bd67T+ddx3y$*Fx^**@&E&f1?aP;k#c4$tH_l+N zE-={C6z1^y>4*65SjSC9jF|#>mNoAd{%2u#$*>mKktgnP*|QSu+kztd4^#D|EDkIO z+muecu&>+bBnJbq91paP8A$_F?|cWa6)OREDDPGB7RN0@KatYX!_o#d{82=)kYevY zSJ`pd>wcC8?`&R|@Q|V0V9InRO&Dso?P{JBu5^zq=KbDMWk>4laSW8*h_hT7JAkA- z*DCYkw`9^xgI$0T!Qm4L60J4mkCp`z@3+Z76n+HK$Dt2UL=F)lXv!9%;lgV2qj>n{ zs*h0ax^cr)6VtazZA_sZZ-7Q)3B#8FvSDBik_dUjc%nac+c32n(EOO3V{( z$)w1vCEBDSpP%^i*1RZte(=HKMTg4k4$()v@ zx=(PYf~o>8z#LA|@nFUTDc7t?vFeyB|G2%=7PuC`5+chB+QRP5Wn%xC;*J(NJ>z`i z9}p)s&7wK2;AN^9k(H1QjIWey-H*i-fV)f4-~^QE9xyE(vJD{9c?A1%w_0|68ueGh zI&$s;5*pJ|c+}Qch~pnqdBLdRCA+QmvC&>p3+vvJ)kO-y)LBz7=h#A3M|{@HxTt{? zTSewBwBId`ue=+(TOxhQ{YfR2i5584% zbX&@R@XZ;)EW%%`U!$A~6vg1#7E}2LQN_*m)EDwhL_rNHvnMe}TDDw3v7p8kB3?C1 ze<#iHA`tt?!(`nDIFe#b8^D}a#-mEkpAl<=61~Nv^rhdr9ClI*xmY3YEN^rYft4z2 z@!d7n!7LC$0pz!q*?qz@9e`h2(%rJ>@fZ>PLahI6`sPVS+Su~3tEruVh^2w5`;qo- zMC?2xuO(BCQm7!T9>G44T(A*lZBy#hgu#~SgGy-`?wSJt3^GBx9LpP7Mi7FDYLKsW zH2Z(o!Y48N-h$xz&=)O?Sdso`m#fT(Exxv5-Xhs8yqO3WPh80Ps|O-YicE6cC|mC0 zEJ@?g%#{!)t^DV_I8A2;J)n-h((=8?2n~+q%NDmU&QVxx{{f>fx6riox|w49d*_X% z&lqb+Jh?1`CT0xc0O0*bw$9#%b0c@yTRzhItcaGu_OEl|K;%IhUAerj+!V#>y{T-* z?kxBB{qkYjaQB?303Gop~nWETxPwuRyd=#w7%&ouAzjpZ3 zzjU7Fbk7qP9!2&VC@YjOPnyy`CzYaLYIoE_k317#N6eL!oDO>=ah zw{diOo=c(9I=#aMVD0ER(G0Qas?xD$swu{?05X}=euzl1&M_%uAx+^)R_ z9GskS-=*W?!YkTz6Nk}6--mBf7uN~PzH_twb>zV);C7h=$w>CNQ&58>*-{$xoC>m; z!F#0k>*1Ku_2ABaI|c&^mX)U;lPKt`PmN>pBW+E{} z0hHwOZ05n$+9DP6FLAxqN>}_T{G-fiHD6YKZ70NS>+o+wS!{x(d{l&!TGo3Ew}B;%WM{<3>F9kepHt1!v&h%|Ub}HO zIKw)`HfG;|AV{d5O(R3)tD4QWlH?uR8r>+;Wq>PbM7fBr-iYS9Z<~5#mO_D-Fj|QJ z-~9X0ye^Y*L#w z@Mr5diDuA^aT)%vpcrNyHJ{@!E|2u`7_U*ko1H?oD219vM%mDO(_&cR&NB+LDo((| zqE?yhdQe>#+@aF&pb5REel7_^@jEvwo>k<8>Cj$8nKh2$@paaA?kf95rPW0{Z%8#8 zkK4kOExW#@Yo5u2(crk2JFBN~*Mn3&b@{#QlPDJJ1O>pnv7yF_@0@OiVI%Ou^U~=v zu4^VSZ1S9m)~`tOp8Kv55V(z9`q1&-?6`=dKV8*~dHBm&RCSos% zu-P+N_om)G_{n*S67}OCCWBm*aPZs3T#d5lu!q+wFN=*Q$mtJzn~p?E^X001FQ8~% zHarOh1a)45S_@aBp$VI4htK4NPj5p!CL2)_QlaEIr%1apuj=C6ZqvvkmYjq8cz?rE zqoU#|*qBy0S^U^plZnVlWOOXpV@|K8w*2o}p`bSulWpQitvT6lMD%RygZ|VFU~3Pn zG(PDnHh0=?lGIYQ%zfMGk)oCMb!m0k*p}O7Ze~*fbCY@b&+unDBR1LvlYti9%80AZ zVv{$YV`DdyjQTRf+?1r$z2u?uRmq)O4@QstbJ&4kML#J)Exjkvx8ow^Gll6yR33Co zNoWQt)EO4%H9^d>cV4hsdG$hz9JG1tgf)Z_zT)YL>gLvq9v#1n)4mBLnoGI<_WcrO zv*Fc$V@k7UtX&93jYm{_oMRYdMRnM9vQ8uZ{{7>2(Uaq{26e9ZbkQS-T4<~ppJyXi z0rJs>BFmkKrNI^>2f9I6>OD%bHLFpt%8c~yVeyVAoV z-rQ~JrHq!tJ%EdXtVw;7_eqJY8x5mH7!s+&WcLfo8e{jdTW{5Bpx@>zaltX?ky;7d z0@GUDyA^-pe9;SD|q4#|D>F@Sw#igk0win(s})0?#&Fh zcj>JrYW*q|6>_as*(%KxrGLn7NOQ^Q;AsODhc_^K6#D{Idr0UDv( z=gSjMEZdXz7!p~%JYZYTM=`f&YKB~T^9?+m*URrjwfLz=Pkspvc?>%Xz23Qp+V3!< zX+^QShnh|e3&>iv)Dd>?y1YnUr$JeyG|`QO_S-KD9(p6$AE;=);^d+EoR8Rp;LzL#{q|8*+r zNHV>ClD1J)x7K9B>|uc)h)E_qLi{%I=jLBiqKqz85P4=!m%^$(-lP_!b-&q$S{0?* zxku_;6|7z45ozAap6sh>q81_Wc2uOhQK+ccs15V;paBLM#fX*2f7l>je6O|19$}6)<;f+%inP1rM~QtI@7RcyDB50&DqL^$6y*p zpPlsI>naViG8sYsohKVPpJ(BBM6K`0z0mIq7HW!0@|TQq9J*apizzL|a*s6sJbH3L zJM%q8NITMMwn{^GPY4m8Co;gkgW@LVHv-IkPErY%6IBv5hA&>gtcyDV2dQVr=E6R# zRG>`XsCM3;4$ou^fMT#l+G;e)OY9aC%Ec>%${ zpF1ct%zd0|6ls%r`lZ>jOO5Tx#Dc|XDyqqkf7!f4v`mzKwW>_3G}SQKNyP8Zk>z+u z^({u9q+cKg_K(uPJcYq@>j`Tp^dpywDIQ2cot@(=hP)i!w$OpqI_gIYDjBre>IaE3 zBtnL8JbQZe!b+rX|M-W|L+~`A2Vsryc05Y8VY62tG}fO6&Nf>&14xDNMHj`GN`ay5T(RW25`<8v6eFOSLZ%mi>9w zZGCEzQQTU;a1(aMta86lpwhIqpl2xx77LN1I{(zA?lPrUzID;{2S}c7Y!MEP=jY5L zk_u_$uQG0LAn%r=xYs#oP-(mgYG7+xqDK%B`-X)3=;h>ygI7d4~#;5{3R@Q zqOI3L@D^?rPwTJcB(7?ZO_cWQyTIS|xWQuwO`wCxfZY&T+&itrl#YN+$K@7nU$LJ7CTg!{oqm-@5H?}5r z)GzIWt91V)IV0uwyz|^WUO;@6AM{o`2S7fRTo!gd`!UybD`K=giJ?#1 z6KL+z^azxEx&Sw_*9Un;ewWM#iaZRs?=$!07K5c*+aA{lE6nRwE1;E?b|kQibN%(U zC#iFCMym6mE9F_>4m&o_l@rlHJnLQbk097N%qpCwHSZF5^4^x79CCh;H;MfdvFUTZ zFlEkddt=N3j^{l~H_Vz>W zpT|J5kmPrZOEtjb-%jwp^U~i{7Pq`H zM-*40YMEZP53-B!BIbxEHpW9U{Z3W{B?iZ#NhSF2x9)JB+&G1G$-~pPq?*&K_U@7e zQ!e2PzSp4tuBA7DM!_A>Su95`@_lLy{55=HP7@^zHq~M6IZ>eVD7%$B9;NOWE!DlJ zpS5%)ZSZ7fV&?1mcc|D&tnX>Lqz&tXNuKvB6xK~Hxkc2EY9ilX*&WO$X#}(;ALK3E zzY|M|;c&uVjb&OnLskN|57jTE@?^PxmjEqYK8}Nk&ZGJA404tm5N|HMX2Ua;n@DLgfTMh?MngS7)f{ z)5bgrNNr*-9F4LMX)IpqLI&M`#GPB^3&1k_OT{;4bAN7`BDw94hy)EH{IdL0vzRl5 zC(688*!wKDL#=DOZiKkQmX?M)d}Nfa!pfpzy#ds)XghJ{#s$gt9oLdll%pT8xM3oR zYXY34l*bGXB4GKno5CImCplD{IGOoUkT>-*>ky2zoc(8WbE%p%KDPJaZR^vUbD!X*ZX?P+5^K}1g~WR4tbsV!Q9K`*4@bRzbaELs|MgnkHMNE zp6y$AzCPO_$5fc6^tL4`$ zQ=~>1vNW+N18Gf`i55gTok^oAJQrf7Myrj2rk;462{TgUV4!jHqmB_+LC^CyRo7yl~XB3Z*dZ5=DbmI($6*|F^D0ZtUq%KL6 zNYvEPjRUtP1^b%xOMP-`V-e&ZO&R{M-q+IkZm_-MHz#iID_PA_>kR0>)YhylbGFz@ z*o=H5A}w2UmovGA?OX6t?Lw!Yx7^3ZY3iKkPO-abhEV4Lu9qdcI$VS#zRS7At>8pg zoWSriwBNtWZ3)U}=ojFX^WI3ViaS|ROI@-~Y0{XF-w0CXrhvU4C^FX68m8H0R`B1o z0{oY@GWzh(=ebi^>Y_>wKIxjFAPA-_u^9aGU%kD%*8R#s#)L zyAad1{4$vkzXyTpPSh!FpL-ql%@At(wt6)AgrMBz|YX5LIa5XGKR;9V3@HfSTYL-H&&c$DdD zquY^|IuxCJbmG?xRMV4x&)PWHNcekHp{{+~T!bElbOTb|L7Q-KiFH~O6z0Xi^!i$9 z1DV&QjPXFL4;C9JHPp_$w}4c6MvLon!~qeHwdHa)OFAT(6ax)IIc%TZMKDm2-GUE9Q&F9U9Bl>7m*! zrX8YW3o?-5krafv6M~yB*U@!E<@#dUkOn zr@V!N6!^D|la-e*o_h{-76FIv$SVz=2gfikYW}sxmS-*2tM1tuU4So`iF^T)E%M^J z+uNm}&8PqJuqh!NLdQ=JS(!8za@C2^t86#N_`En;jC5hI7%X#Jt(Av6vSVD+BhNR> z6Nj|3^hh^`+MYBgyUt^wNu}hn*BS$-mWBNE)>BiYJH1xxyl(RBP|(28S&!8^HN?|q zetnEZs8kD&X%~SZ*7LBHV>i{?MeE=yg|ta2su&JwZezAXoE4i}DT6cgWbPva1E*98 zm6qfP*$Cf4RZYI722EotxMCrB!a!y#(${!Q@+=$%B^=C;9md6H^M@@l(J+E3%tRZ- zWID4FJ-%*{^xM(Ht1hTvlkBcOHGL+dMo6qzl8o1!4BsImQ7pS_4s+u}w{MHIAEQ6| z!nG_LwO*~aC20+l_0g=5%T#+ZVsN=zLqF`1EOIp(k7~*WFbcjt*fkk>d>RKz`K*qKF#Ps=7BPm9FgY6a~+X+-eR29%$sDl zsime{1B0I*n$5))my&rd4^x}TwTm*EN=NQ!(a3_1v4j^njA|&LoW>S&_>_0{hl)U# z@hv`U^Qhia@#Pc3zjAWi%X@i=qu7Q89ih?Z7fZjaU{-CpI zJI^OmpP?$NlBU-W|L0Kv*2@Nl>1x~SrpF~%I-jn25>ExgJ>SoE?oNDY^v_Z#NU!x! z#empuBfB>oU|ERjP=oi0p?X|)<|hOE+geR0SZqR4w-dR3}MQD^H9x}+)PsubZ z)DLgw1^ya5V63Rdgyu0j@JUj$c^f<#eFD${%XkHCV5;JdOU8fIc|}5ZOi%|60!>tA zg9Dp*#y1bs%j|4>?B7?m2k}q7BVx5))J(n{N3OFAI2Q>*MoL0bOekX;4DInNuMD3~$VGhS z2A^-&^tUqQwOawFW9i`mV*FXTO%@h`{fme!39W)6%bP)Gt|Wq~%9oojZGg#R_k@^U z>I;TN6H6lne7$q8#?|9UitntDLF6DH-(TeLhnSvDXN&koPXi!)kIflLP({rEM3%^7i*U5)?W<{0bmnIVJ883- zR83n-*D4-6uF=Gn!Uz2N6WwUp^WsK`L_Q_}#SX2OH?uGGPSetepU6D%L+X7Q zct`l;$Z#L6bQjRUZmGAM^s#`Noy|U-xJ7pr+^I0D>)H9M zgpa!t$5L8IpGoh|x>HnxZirs;o0HZ1fBkMrmFWz%`K8Nn0fj@z>L3IeH%Pr#m2mN$ zvt^ySU$Zz^4z5jG!j(pTVJj5()*kqMmjdo4?1l+&_#21Bz}^OK?m zP1(wWwMEO))fM+>YyPM?jSP?sySk;C9nR0>EDbvpZw@E>=zXf+yVSA1V2Hk1%E}(S zOmu-)J}j6S5q`C|;7joP(><--3Y8E3z_^-8(b2QZhm)_3*;u4@eEg%$y-YN_f=AGG zS7K!K%#)V!ya2V>v_}UD!`MrrECM74L$k-o{@7E05(ZvvGOYU=FT{4Gifv?dsc+7d?39$pn> z)A>)R-O)-tj^%Dn9MXyUS`Z#?sqi`P79~+M!`5_~fQ*?1l9lf_)WBb)woIf}go}XN z=UHKFMOvhEUNzF0SLEB=cPd6;__>w=Oe2%L+#x1;?+`(TS-u+0pebjlZ;{2A)Qw z4lv%$;N5h;c3$vAkrKyyifpRXSz&o%pgfA!OZXsbDr)ERvQ5!O11+B<1T6~(8sQBY z7?Xn-N66aBKy7{-# zh&0PH;D4712xB)}w58-nCtMv`xh%h>&~M>D$R`wh;MC*;iNhEfwvTP70F_BwRSyYC zLXYuBYX^(P^T)Q@j-S=amP6$;@AluBF`J>*2q}6JhDV~dsE^AF*@pMn<&6NR{pKog*t1OvsR-iD7m9L0Yt&aMn92#|?V2i1m? zJoDIwMs2_IJaMRZ8V#F8Q3VUZW_t)Jq(_T;?8hqzYXtume3DRWi5sb-$Wp+Cs4B5gt~FbHHc{Hu;vKet3&fi z-;0oVClpZ-P!gDa_c-Tj5Y&TGj`YG5DOi zGJ!peE4>tI$ke`W@L#wo>_qu9^dHN`5*FN*W47*dR8IZXKszE6ksrFG+_QLn^Ozl;Jw#rPFxw>G5Pu{T5>d& z)=#3}ZjCEV`sEKeEAsf+1{QWk3&aCCn~0oExq7(Yq{*dB$EnSraRfJI*eh>3MmWf6 zEiJ-Sc&o#mx%*XHt19_@AdJZuR4ASUvcu;c{#b! zgS>qbFfo-7M>sU_Q*0si%0xL1E$>)KAI)CCI7~fsZAC9pM9%Z!H;N8WQO)}EYD1!q zm_ZZd!j0tJwg4*K$b~V9J;xSPPIcM6TO4KpRIerPu7(OY8owswWXpAbGI(qq zxIAEom8W2F$>%wo6i!jUW4tJjE(B=m!^4$_-c5Q-DQPj@Ps@!LPz~YBuwCt!c}H7g zzrZimv{_q{lOLwH6kUGjCtRJl$agyVHAG+BHY=u4)K*+Gj*%;!fpk81FRC<#`e%20 zsfxfIFOMK17nB2i64qvt_jy0{_OZCPdd! zpK6N$&EQW82B?zWgc3&bbk93mSzJR|lY}gO8+V(Qjv)<%J!$rNaqEKs$>XX%v&L1m zL1Wi@8)XQPDYXTfXI)4xsH2ixt=XaNZ)+N9D`w6oiKQ+XpqydGU7dn5lV}qOhRBc4 z)(^&f13QWq;H@cb3Ub&EVxh%4N0di{Zg7O030YgqiauW7{l|trA=fzkpmeeuhgNTX z6drNAF1hwBjZgl>UKAWn0h)-$)YYceCkBPrmfR|C(#|1i$ov@PJd_Y2HQDBG>j>X7 ziYX!fZDSoL|FUCJimtAay+5RKAt%$QuX}nEs@aKB7Fx$clx4m$dP1 z>QurO%VabiSc`}$f$)?z5%kYcbRetUfqlegMW@eq& z=N-`-VyBigz-d;lEWhjO6t`TFXO0mMk{y?o3!t*&`}L?;V<}0uT=LaN-(1f2q?>tT z$LsC|wPk4EA-SW+40b=oBjA(YvC3!ewXUL-mPvigjw1FF%l6JnTI3r&ICZ+O6b`!e zX=wpIqWH4g`RO@cB%(m^vP+M%rpW1L`Mnnwe$Je;A?Y1{Fy5(1ZLJ_5*Y`oAh(br6 znk7D`0`JVHmlB-3kou9{3+{*ouCNih?V!& zMDbtc20YriTbR#<$nvv8Su@o~H73qq(l$c;Z5`setU?STBT0F+I)A@qr=F4CAwo;& zgr>d-l~N_fMQl^)CDf%V!3t?A+JtW;gpxZRn;jS0Sr9FWFq+lzIMmqOLMYdbAJrFC zC9&quM^9w;%a6|Fz^A@E6uOxq|Jk=i?f7O$7{1Hq?po+_wAM{Fb`*IS0qP#RJ9a0| zD9GtS*>(0w1f-7_0)>5y*iOpwH`-kmhc7mWd|45EDby$Xvbq{!oD>x5mXBXn9h2LX z6st`f04TPYaN<{B@s>^b<@L7_H;wg)FULWDt`QY+JVTd{3sekFB}3c{8B1bA{FF3b z%azg9nDg(wFLRWH-{S_QQ%aD52^bL4%+*zq+Zxen*8b9E)}MUjZ<8UAVe%}=IT>uo zEwT=-BonsD1^Pknb?Y$%i>I(=AapOkfE8%nK&v_R<|PWXo7*|8y8sQgQIhMZRRor(7#cRYytGCQ!v|2F)QAOz_^OPfPFlURZ(l3Bg zi>T8VeH~PFDXm+)-UnZS`WBG~!{i%huw;FuNkI~=oEvk6V4&L=!>Yt2*LK$X;$D=w zOq@-~ol~-0dQMII&cW2LI4mE*9A5h7=}JU=Wk>B2zUmHs zX2yXc(wum9f|Fu(d;!a5C z`HGk8%VD*dIT?)6ty-E370h##yernLvSS1mnWVCUg>31n+fO80q_EDT6Ck_omdx{Q z^#TuHPLdASfznrT{LPD5t!m26q0}PO{M!Njbu3!u@o{Lhk*Z^rTUbIQDlZ?NL_4?? zhdm{gb*PMe6DYqRQo;hKn5mVtNj4!av^^=eXim zL+q^5hy@&ikLNPv>eC$>_2-B=8+o?I^Z?rs^m)TTj8|P6J_)3Zhw+vVPDR=RROqJO zZk=Z;r}FlNlz0nq3k9gef603Bgg7s&-sr98FQ5wGWCh)>l99j%Poy0*OXeXc zall2y_ms@q8CwTGntEnU`{E(rEy;eN)?7&nGO?T{9t*2s(jLCfGv=SBy;*A`Xws=HM;nv4Rw{4{MmZZH=5JdO zI@CQ6v9F^m?rUxw`*!o?kKgXBBkKJ-zp)PcfB@6}?nW}6=7WO0_&^(zA?w_shrzj!JmqQ)rK+En**R)T(jXT;uQ|Y(*Bv92q5qP3zdy zl}_sRFFjbSD$AIIv_*SPbg?WKzSp|3O9;IDHn20xZ&*#H#|~C62DKU?MwoG2QtKX- zC>QjwbX*x%d%=BZAQSVg5q53Y%*mJY{77Aso3DtC#9%;VWz)kq8NcD3^CFIRkWQk` zS2rHIPsL9s5F5I1#|AAqqNLatYH=a(LG8kVd||?R6e$l;1*39ty5DyBw5R&d`sb*s zS>xlACX*ErV5zVS_4$KMw0>~Eb3+POtL6K++|h;-<%nz<1jCw=5BT)V<8%1_D}-bG z_he!LY9>WCb*_^d7SK4_{*x}bh!54{yXaK*wvVfEtq)meH5n%`9y;P0=KSMtHs72C z8SlO9g&Tryy#cR5W&g^Bqh_-E^80Iqsm!3!pO5d7#)oaK8Wg%=SozPU;$kISUEI-Vb8hvk`Q(P#n_?npZvdze+ zRv)i-iRWn_h7~MLTvKRnmt)B1oS!m`m9$SD+f1e)^5jAM+CK|yBIaj8-Q5Flddf?X zBhHiR8i)Y7GB23`g%&Suy@6)C)A|zHZ=#p`Ei79T9+up&QI-O~rTCtSX7PPM0eh{m zuZz$sD)d5axEC7`(QWKHN0EHjUa5%9Rmnz-Aat;gMYeJi%Qp(dP@LFX^g$T zl&nm3U)#o_c-*Ma=<6@^+V0(j$L!ZxehFLrm|VE1s!B76309vvv^Nt8G(yD>@G|Q0 zBb|FZj!$gb!((W)C#uG5GgJ6p4*B?IiTH2v75gMERGlZ^cs+^zg;T?Ci0j-YE4(S5t^bl45zsJ#!f(3N;A-?CD;3o>xrw8Ef{&#;{NnAUmwr(gPK45)O2 zByb6+EObdX+E+v)s2LSb-wOImp!1p_TuO4_l}N&e0Xr<=kLDrRUz6N zbg7$MPi=mAA)m#s|Gv%5NM9}=+m>9TicGu4)FW4)y+WhGY`LAk^)9qQ4R~h01d?h{ zrl;*+#?nhh5HMcaO5s!rZ>EUH+tKW>5VsJKtbD!wcAq#fit@nVfMwP?%(a-7)5qLtv9 zDkhGLmvrJZ?z`|?T1uW_nPM(A=~eij$FTQebnoQIY1{oP)CH#*t6zcr$G~yqFI9mY zD%^5LK8GRLp#tyelaGWXhO#F`4o^kQRA_zTCyRe0Jk6Ot+E=sTa8&pxoGIBlWrkn8 z)xTj&N1K9Pz7@@fCGJe(qQ2ELvRiza0cMN*1{{_5WObd@_RmdIow@I!P|)X0#u^;8VL-Z%i?54>BN=u6ht;nO+i8pH%V- zulT;>;q!5(Y&7U7KSDQZd0~Ac45aqg=2#c$z;PhLfx zdM62f{@K2T4p-CeQSVBU! zAu;Fmp1i^vT4K%C9*(r>GgCS5$w*bV)n-(>CRcmYV)Uo0L}E{$JoZ#sX<*QlpP zML>&`lYM(|ifS|5VukaHe|s#OX);gICDYR=e3WDn0e6>V|G0HbLBgVTm)Zhn>hv@| zO?#`ZK(_MK&P6oQLBd0cB>`mmDxxG8gP605oGr4HbI_Q+GT&JJh@?JJD107A;W?u@ zD(*o>q8kMyYGqF)zHF^v9Fn1*i9Dr zRPOHL*R#KdS}c%F3Llz{2%mW8#nyvTpKau`mA!|AH6=96)baRurDPsa*N>M8T zwj)35x$V#=V01MCc5g?vOO5Iq8Ew@8GF-so%P)&qXt_X)o->f6T?@3Zc6Swv*>o6> z_e*nRwR#%OI2Y6i0?9JPDcl^3Gb=O1jYfL<=}Wp9;doWzeH}flmg! zy*UkPbKl+Q@R$hog<_I2DzIJ8OWLceto7gB zQ#u%RRl1wPIS6wKI-PqE(dx(qAmxY@OY-y!aPs4G^C`7<L+5 z?b(e-wk$qKUzu?3=OP+?(U+sH70^`uh8l^tVO<{yndRQAe17-@8FK-a+4r)+8e?UW z256#f-TAs+G8>|Aab8rD|d9K zVCML=&F%m~9SLDwwQ?_lq>rF0!(<&Es6xlrr#3OfRx@%%$@}uJjB^!G7SW_6xJ$3M>Y~(VqV5IelGjHNMl6MK)E6?Xq6D(NyD=scmW818$ zdMkUYE@di0;6>+q$o#7y-i=FqL4+Z^h??r9RhBW>U`AR|sS#q0U2NVgIVb5H+G9^4Jc<<{xbWE6#{nU#u&o2(M+ul zwYv9?HL{n}Ax`I`p$vU1zM-+w8?Q_Rdrsa&MN_2jk}v`Et(P>(C+x5;^r<+^xH~o2 zFioK;I|%Ap)DqWS9Ad`iLIUfV6?ziGWZ;ya94kh~n#4Gc%wkJ}y{Bp}l?8wCiNK%* zb=d@v7_IBvgsftLE@Tia$>a~bg-aZ8L~8Z?#|BT_Q$~VY%we5jpN-ZDtQQQo5TCHm z9DD9~QdhetXDoWFP;R(MGIFzd1!75N>hiY*dQ$sRhL*#A90!7cS}N4TdmLx3?xB2S zY69YLAiperkh29W#>LPUr&(lAzW=HU|75{tCn=)4FiD8Z;2Cvzo!6@YDP!3c<}NBDT*36Gr!HarL*kK1xKGIt!%Y5@wCT9SWt0bJHk_zkrg)j0!=$Zkj)@Y*6o_GCS9TorfAiBC?8Ho&UtvxDArN?W+gM2f9lF}>(U&a+TfW~_Cj7K;nC&g%Km z88;b)TsZ$H&HI5NWE=U}pTF9>;Jv)6US+T;(BBy+8-~8@@Mx`mJG24boWZbv3#K2e zDd%*o<2pr#20oHn$mqm6hIqj98LW+P!-k?s1kScfuMVQlIbWQ5_)VtORCdCjClg=V z-hqH`gNCAPLGlhf`-7+r1LIY9JK}To!0Y?&C72pR?F}}K0@R48a z%o6F~+pB}nh!q0Kv7t!(S?HT0Eu4Eyr=0r;U4H1@JTMYJEkbS)HFDX@rM#!7=*Qu$ z{XNoT<^|dosIr)R5G!me`KGWoED!(fEwvF%Arj5lA1y9*$i5(#X zMxoW_9}+O3d_eaRJmxhXa_=ab)w)SGS|8bvft&Af?28b9@p$pCEWCfV_B{pz>@^b9vQTUr)&HhC12??cK|WklY8qYj>fEqw^mm#1Xl;>*n-UrP5mq)vN8UWc zGY7~mRSm90OZOS~jT0irMfIN~lvu~lw*e-}sjne&ZAO=v2ved=rZSjv3d|*><yYQ zE8nz)Pk?t$ACWmezv7TCjiW}J5?gF$nNko*KwQlVG&U1+p{+LroKw{6nZA&TBeIdz(1mfwwZFh%BklLSy53DQk+sSHBLxP#4B+ND3 zcA*bj6?u=d3Tf3`s;UD7tA@@;!#*97*Xnrp@Z%3W>sZbTf8PW8P`#@;`?tVrU3tHK z{nx}ob89zy)cDUzU+v1R+uft^8+a~B;@*%UxdL=*^s%>XIeF+_a4>57h-+()?URYH zSz#hv3^Xt?CHB$L{Ig|s9^UMrNA%m24KYoZrv0L~D)WFsN zJ&`V{4dBVNhoQfJjq)X*>RC|J%&2a5ERlu5+HL@m@NWas^(R;95<%UaQAJ_6?;&l^ zYU`i9DogtP*qLvaY+32+z&M*!HlWNla8<>FqEg8;ss4aP3t#RQdmF0LA zc={N&j(jJj>**=0#a^WVNq2tE2jXmlDh&+Gv4#A;DEar>G7prfpZOQ!q>kL1X2v9F zUi;*oI7APfUc+~GD^_p3!%HI=dzL`@b!hS3J1CWMgGcP zMEUZ$;$P%{*sMOOG~2EVs@3^tcAlz!$Ej@*vf2+o?a~EvW|?-*2Ou>tFu>N7Bmd{x zYwUULZSfhJ$i^#bhU0&BoO%`Ky9~=V647AV-|co>Pcjg0f1NVdy6-A z|DF6FNcgAV*bY|&dZ7J&CDUhA9c)+vi0RCQdZNvmc>wM@-$-5<0 zp|s0*TF5LG=EXZmxcU>&9s106q1k+KxraG3O=I}$(u1cL%g;70zQQi!jOM=#^?TTM zE|NS%jP8=UgsNO=tDdz1vgn6C z%(WTjldi+o@m(D$06l*z=oF}`aw2K> zw}noIVq3ZV_F@LtFUl3K0;#WP@@kH|O)ov(1q{sqD-AUscgG6%1Q%n57wAuc{jC7e zfh=jlnVZbBaAZ~lkz-x-<)MmvDu36-g-hC*c^ZHUehr{dGVuN{T181-pEt5Dk9P9@ zTx$X%_uobEs19V2B53&q-v+ohgq_0evWBe6f1aEx18Pc}A9H#RkmH{y6WnldwHNcB zRe#?|QrpM`I4kwP{;=T)k?=jg%vW6~2sX4j^xoPHC~|`;nXIm|!2r0s{^jld{wY8a zTdB?80mQ7sy|2PybB^}{B0>%TjL#0+e#Vz7*B_ihhthD;F)?=3R^q^l3TFSrY2Lq) z?=Mr>s{QK#Nf3aq9hnLqwgYnkL>5oS|Mg3+YPa$a6nYEYsgE`w=1?t`({3B|)8&^p zev|Rd0CD>mh}-%9#%7&0QON5vN)<(sv5_Eq*j#OhafzSPP1C*r(UWF2QGrFP0a0TvlK zAV2PoxaFVnt~)U;?MiL;&$U%_zzFBxmK=Ys#isrJ+j;O4JIP3qi9!ay`hN+mG4T4L zLq}{84XdMw6VAPupa&$F8)^SsTYea^FW2->_=M31xI~7Gw(tJ~NvVyMSf$A{yrnJR z5Qv8P8>;%`qIZ^67?(SN!aEJB0c$RurxVaO)22(+B+@_;W-oAn3pE?Gpf8A2YrkNo z*t7!zhmOA8@xW z4}bBpx|T{4;P7$d zc`Z0LFytNh9X$F&|6O-VNZ?!K!66mp>ydr_aGcO-j62QPWb>?CHN+;EZHqpgdviD- z2K#jCqB|_XWwkDAdQ8IPKGH8NR!t!i5TFsvM=Y(n*|&ZOG$u)jiM+^fUccevjYZ@f zd@I_MXkiIZ1M5XdZc(bQsI$AdYH+5EU_6z3HB5e4CnV|JnFjK-Chm-1PGc!*xTvZQ zKrk%Bq0JzaCmoq!m<{)cKDs6PeYd{?U8h9pRKge!mxD@eQA=*|EM-oA8cvucC|GP@ zjY3AqLZi(A_7hWTVmvgvG968SeBLRoic6Wk&&WTQ7lqEqFdR{|@&5tz<>FGnH?goh z#1`vP5w-;EyM@Yh^x-dB_|=qI`ag6vF2)Ig_@Jk+FVsek5^}dRf$bm1T|`#VU`5Ow zG{-y&WF5f`Uvd{ZeVL9G!dT@(!^v|6y6kA51itIzyG?$XI!OCADza5=dD*z8I#*cA z3e1*~Aybg}n3@?MPN}hXJzD8=I8QaWutpH*&}vW0g5#HyyPM(w(kQeZ=95ZrE-!0q z5ug&Le*B^TCb`B;dl)-I$(JJsJq#pk=erX@nM(LaSMEV~x%cAr(ozq?StgFvam*Wj z68vM+VtbH=ZB9z{&$UXF`_8R#OviV*eC}q(q|&CLc)iqLIXrr&Z|eZy<8CN zCsi*i>@3%ckYu=OphsSPHXgH$IJV9RL@qjJ<{4yXx-+w`Oc^(?`mSl^EkQ9oszeOv z=e=r+%uc;5ZJLviLExJE&owy%kl`9WBaGT6!)&HNX61GjAy#{)`r~a`clBWqSM<4R z2t(@veF6HEVq!d21v1Kgv(8W+G7ln9BwS-@3!x2BeLFu@jiQ?o!&1IRvMqXjQ=)fh zn^b+dT!6i^4;cYbrh;zf*0m*?RfOa+?h?PMvbXPG<;odn4lF}9IBvbEr)$gbXXN&v z%aUM@*cPCC&95xU!iz6UJPn;3+G^l5sY=k>{COO_I5#$+kLs0+lneEgE88X6kS(2M z@)Nytw^sQfTd=~0Thz(7(|Ue2X=q@i!_e}4&!gO^RjTJSpJMGlyivJrUIjREd28pZey*CIIQ|{tI3GfNGMW4QBCbh#Nke~!7%GiaNxAT$59W?HSW8zv(c2)Bvp^#-O zJ&F%AnDW<+Y8hd1uF(Y?F!9jho+-N0{kzj$f)5{|J2E70h=q7G#0ymWems+OB(Zx{ z7%+#6I#g#@!U4+i=$4glkK)3;?oW~r z6|a9&Z+6){RSDD1pEN9fDOKi}UJ>Z~Caq#pTF)Ip;|k3oSMxRz%&7Nv>uJRUy~J2c zBqk*@U=QQEHsF);;J}S<*+rOzX`}iuHR^8m7bF!`tTNRhGnX4RHnTdUoFhDz6I98N z64^u&FmyORS6lbAjJ|+13+pBnHT|sTNmy&+QgXfh1f^l_*yz|0XfHA_zgGyvvq00Y zrlgoo&h<5<2TED79|AJo7v)0yLaTfATnEeEx>T0Ds;k>e1Q z^;*P2Pm44&2GgQ|g|ThbELYdqM>;v_QD-o1c7_y!&;0T8J?@k`dcUUC?Oz48Sbp3w z;3jIf+r6u6>AqPxyT4q#YS}5`vRqQYR-oHx=>x+7I@J5>7eu*yWSnzNE((wr;#ztt z8IZ6r_92;W?3%R0K4Bf&Gw|JY>zt^FF9)F(inK9~%zj47MHsXKkrg52O8C-gj*^njJ0wM_F=F7to|dE3Z=)LA^G*`;Gx%@ zFb>wT|M!*^8V&p=val0i5#;aSXZSKBjLaMuGB@^!DPNEHUX}sW?ZU_`7`l9L&GE& literal 0 HcmV?d00001 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 {