Volumes Of Fun
http://www.volumesoffun.com/phpBB3/

Transvoxel Algorithm
http://www.volumesoffun.com/phpBB3/viewtopic.php?f=2&t=338
Page 3 of 5

Author:  milliams [ Mon Jul 23, 2012 8:30 pm ]
Post subject:  Re: Transvoxel Algorithm

realazthat wrote:
I'll take a look at that page about git. I'll also adapt the use of polyvox voxels. Just tell me what revision is considered stable, or perhaps I should wait until git is restructured, to begin.
David will have to give you more information but it's probably best to wait until the changes to voxel types are finished before changing your code to match.

Author:  David Williams [ Tue Jul 24, 2012 8:24 am ]
Post subject:  Re: Transvoxel Algorithm

For the integration I think it's still worth waiting until after we make a release of PolyVox, because until then I won't have the time to give it the thought it deserves. But once we have the seperate 'develop' branch I think you can usefully make sure that your code still works with the changes which have been made to PolyVox. This develop branch is supposed to always be compilable at least.

Mostly I just wanted to make sure that you were aware that we are moving forward and getting back to PolyVox (and let you know that the TVA stuff hasn't been forgotten), because the work on Voxeliens has taken longer than expected.

Author:  Gnurfos [ Thu Oct 18, 2012 8:47 pm ]
Post subject:  Re: Transvoxel Algorithm

Hello,

Is this maintained, following Polyvox refactorings ?
I'm not sure because I tried both latest versions, and could not build polyvox-tva.

ex:
Code:
polyvox-tva/./include/tva/polyvox_utils.h:1359:5: error: ‘getThreshold’ is not a member of ‘demo_tva_traits_a::VoxelType {aka PolyVox::MaterialDensityPair<unsigned int, 16u, 16u>}’


Maybe it is easy to adapt myself ? Or would I better wait for a stable Polyvox release before adapting ?

Thanks

Author:  realazthat [ Thu Oct 18, 2012 11:49 pm ]
Post subject:  Re: Transvoxel Algorithm

Gnurfos wrote:
Hello,

Is this maintained, following Polyvox refactorings ?
I'm not sure because I tried both latest versions, and could not build polyvox-tva.

ex:
Code:
polyvox-tva/./include/tva/polyvox_utils.h:1359:5: error: ‘getThreshold’ is not a member of ‘demo_tva_traits_a::VoxelType {aka PolyVox::MaterialDensityPair<unsigned int, 16u, 16u>}’


Maybe it is easy to adapt myself ? Or would I better wait for a stable Polyvox release before adapting ?

Thanks


No, it has not been updated since the re-factoring. It is in fact waiting for a stabler Polyvox to be adapted.

If David gives me the go-ahead, I'll bring it up to date.

Author:  Gnurfos [ Fri Oct 19, 2012 5:14 am ]
Post subject:  Re: Transvoxel Algorithm

Ok thanks for the info. So I'm impatiently waiting for this new Polyvox release :)

By the way, I had to force flag -std=c++0x in order to get that far in the compilation. I don't know if things with Ogre would have compiled with this (I saw other people having problems in the forum with Ogre and c++0x). I guess if we can't mix, the detection of the c++0x features could be improved in the Polyvox makefiles.

Author:  David Williams [ Fri Oct 19, 2012 3:26 pm ]
Post subject:  Re: Transvoxel Algorithm

Yeah... the release takes forever :-( Basically I've just got too much going on at the moment, combined with the fact that tidying/refactoring/documenting code takes much longer than writing it in the first place. There's still a steady stream of commits taking place though so progress is being made.

Maybe I should do a blog post to provide some insight into the current state of things...

Author:  David Williams [ Fri Oct 19, 2012 8:00 pm ]
Post subject:  Re: Transvoxel Algorithm

Ok, I posted an update here: http://www.volumesoffun.com/wheres-the- ... x-release/

Author:  kalwalt [ Tue Nov 13, 2012 11:16 am ]
Post subject:  Re: Transvoxel Algorithm

Hi would like to take a look into it but i got these errors:

Quote:
-------------- Build: all in ogredemo ---------------

Using makefile: Makefile
[ 8%] Building CXX object CMakeFiles/ogredemo_a.dir/src/ogre_utility.cpp.o
[ 16%] Building CXX object CMakeFiles/ogredemo_a.dir/src/volume_renderer.cpp.o
In file included from /home/walter/polyvox-tva/./include/tree/tree.h:30:0,
from /home/walter/polyvox-tva/src/volume_renderer.h:33,
from /home/walter/polyvox-tva/src/volume_renderer.cpp:27:
/home/walter/polyvox-tva/./include/cube/cube.h:106:23: error: ‘enable_if’ in namespace ‘boost’ does not name a type
/home/walter/polyvox-tva/./include/cube/cube.h:106:32: error: expected ‘,’ or ‘...’ before ‘<’ token
/home/walter/polyvox-tva/./include/cube/cube.h:188:29: error: ‘enable_if’ in namespace ‘boost’ does not name a type
/home/walter/polyvox-tva/./include/cube/cube.h:188:38: error: expected ‘,’ or ‘...’ before ‘<’ token
In file included from /home/walter/polyvox-tva/src/volume_renderer.h:45:0,
from /home/walter/polyvox-tva/src/volume_renderer.cpp:27:
/home/walter/polyvox-tva/./include/tva/polyvox_utils.h: In static member function ‘static void demo_tva_traits_a::get_interpolated_transition_data(interpolated_type&, interpolated_position_type&, const cell_type&, const corner_type&, const density_type&, const corner_type&, const density_type&)’:
/home/walter/polyvox-tva/./include/tva/polyvox_utils.h:1359:5: error: ‘getThreshold’ is not a member of ‘demo_tva_traits_a::VoxelType {aka PolyVox::MaterialDensityPair<unsigned int, 16u, 16u>}’
/home/walter/polyvox-tva/./include/tva/polyvox_utils.h:1359:5: error: ‘getThreshold’ is not a member of ‘demo_tva_traits_a::VoxelType {aka PolyVox::MaterialDensityPair<unsigned int, 16u, 16u>}’
/home/walter/polyvox-tva/./include/tva/polyvox_utils.h:1367:30: error: ‘getThreshold’ is not a member of ‘demo_tva_traits_a::VoxelType {aka PolyVox::MaterialDensityPair<unsigned int, 16u, 16u>}’
/home/walter/polyvox-tva/./include/tva/polyvox_utils.h: In static member function ‘static void demo_tva_traits_a::get_interpolated_data(interpolated_type&, interpolated_position_type&, const cell_type&, const corner_type&, const density_type&, const corner_type&, const density_type&)’:
/home/walter/polyvox-tva/./include/tva/polyvox_utils.h:1404:5: error: ‘getThreshold’ is not a member of ‘demo_tva_traits_a::VoxelType {aka PolyVox::MaterialDensityPair<unsigned int, 16u, 16u>}’
/home/walter/polyvox-tva/./include/tva/polyvox_utils.h:1404:5: error: ‘getThreshold’ is not a member of ‘demo_tva_traits_a::VoxelType {aka PolyVox::MaterialDensityPair<unsigned int, 16u, 16u>}’
/home/walter/polyvox-tva/./include/tva/polyvox_utils.h:1414:42: error: ‘getThreshold’ is not a member of ‘demo_tva_traits_a::VoxelType {aka PolyVox::MaterialDensityPair<unsigned int, 16u, 16u>}’
/home/walter/polyvox-tva/./include/tva/polyvox_utils.h:1472:7: error: ‘getThreshold’ is not a member of ‘demo_tva_traits_a::VoxelType {aka PolyVox::MaterialDensityPair<unsigned int, 16u, 16u>}’
/home/walter/polyvox-tva/./include/tva/polyvox_utils.h:1477:7: error: ‘getThreshold’ is not a member of ‘demo_tva_traits_a::VoxelType {aka PolyVox::MaterialDensityPair<unsigned int, 16u, 16u>}’
/home/walter/polyvox-tva/src/volume_renderer.cpp: In member function ‘virtual void test_volume_renderer::initialize_voxel_volume(volume_renderer::tree_type&) const’:
/home/walter/polyvox-tva/src/volume_renderer.cpp:404:48: error: ‘getThreshold’ is not a member of ‘volume_renderer::VoxelType {aka PolyVox::MaterialDensityPair<unsigned int, 16u, 16u>}’
In file included from /home/walter/polyvox-tva/src/volume_renderer.h:45:0,
from /home/walter/polyvox-tva/src/volume_renderer.cpp:27:
/home/walter/polyvox-tva/./include/tva/polyvox_utils.h: In member function ‘bool tva::polyvox_volume_deck_row_cell_range_t<traits, VolumeType, VoxelType>::voxel_t::solid() const [with traits = demo_tva_traits_a, VolumeType = PolyVox::RawVolume<PolyVox::MaterialDensityPair<unsigned int, 16u, 16u> >, VoxelType = PolyVox::MaterialDensityPair<unsigned int, 16u, 16u>]’:
/home/walter/polyvox-tva/./include/tva/surface_extractor.inl.h:298:9: instantiated from ‘static void tva::surface_extractor<traits>::extract_cell_triangles(foreach_triangle_t, const relative_position_type&, const cell_type&) [with foreach_triangle_t = boost::_bi::bind_t<void, void (*)(tva::deck_vertices<demo_tva_traits_a, tva::cell_vertex<demo_tva_traits_a>, cube::corner_t, boost::array<long unsigned int, 3ul> >&, tva::deck_vertices<demo_tva_traits_a, tva::cell_vertex<demo_tva_traits_a>, cube::corner_t, boost::array<long unsigned int, 3ul> >&, tva::deck_indices<tva::deck_vertices<demo_tva_traits_a, tva::cell_vertex<demo_tva_traits_a>, cube::corner_t, boost::array<long unsigned int, 3ul> > >&, const tva::cell_t<tva::polyvox_volume_deck_row_cell_range_t<demo_tva_traits_a, PolyVox::RawVolume<PolyVox::MaterialDensityPair<unsigned int, 16u, 16u> >, PolyVox::MaterialDensityPair<unsigned int, 16u, 16u> > >&, const boost::array<long unsigned int, 3ul>&, const boost::array<long unsigned int, 3ul>&, const boost::array<tva::surface_extractor<demo_tva_traits_a>::cell_vertex_data<tva::cell_t<tva::polyvox_volume_deck_row_cell_range_t<demo_tva_traits_a, PolyVox::RawVolume<PolyVox::MaterialDensityPair<unsigned int, 16u, 16u> >, PolyVox::MaterialDensityPair<unsigned int, 16u, 16u> > >, boost::array<long unsigned int, 3ul> >, 3ul>&), boost::_bi::list7<boost::reference_wrapper<tva::deck_vertices<demo_tva_traits_a, tva::cell_vertex<demo_tva_traits_a>, cube::corner_t, boost::array<long unsigned int, 3ul> > >, boost::reference_wrapper<tva::deck_vertices<demo_tva_traits_a, tva::cell_vertex<demo_tva_traits_a>, cube::corner_t, boost::array<long unsigned int, 3ul> > >, boost::reference_wrapper<tva::deck_indices<tva::deck_vertices<demo_tva_traits_a, tva::cell_vertex<demo_tva_traits_a>, cube::corner_t, boost::array<long unsigned int, 3ul> > > >, boost::arg<1>, boost::arg<2>, boost::reference_wrapper<const boost::array<long unsigned int, 3ul> >, boost::arg<3> > >, relative_position_type = boost::array<long unsigned int, 3ul>, cell_type = tva::cell_t<tva::polyvox_volume_deck_row_cell_range_t<demo_tva_traits_a, PolyVox::RawVolume<PolyVox::MaterialDensityPair<unsigned int, 16u, 16u> >, PolyVox::MaterialDensityPair<unsigned int, 16u, 16u> > >, traits = demo_tva_traits_a]’
/home/walter/polyvox-tva/./include/tva/surface_extractor.inl.h:139:9: instantiated from ‘static void tva::surface_extractor<traits>::execute(VertexOutputIterator, IndexOutputIterator, deck_range_t) [with VertexOutputIterator = std::back_insert_iterator<std::vector<tva::cell_vertex<demo_tva_traits_a> > >, IndexOutputIterator = std::back_insert_iterator<std::vector<unsigned int> >, deck_range_t = tva::polyvox_volume_deck_row_cell_range_t<demo_tva_traits_a, PolyVox::RawVolume<PolyVox::MaterialDensityPair<unsigned int, 16u, 16u> >, PolyVox::MaterialDensityPair<unsigned int, 16u, 16u> >, traits = demo_tva_traits_a]’
/home/walter/polyvox-tva/src/volume_renderer.cpp:580:45: instantiated from here
/home/walter/polyvox-tva/./include/tva/polyvox_utils.h:1188:60: error: ‘getThreshold’ is not a member of ‘PolyVox::MaterialDensityPair<unsigned int, 16u, 16u>’
make[2]: *** [CMakeFiles/ogredemo_a.dir/src/volume_renderer.cpp.o] Errore 1
make[1]: *** [CMakeFiles/ogredemo_a.dir/all] Errore 2
make: *** [all] Errore 2
Process terminated with status 2 (0 minutes, 8 seconds)
14 errors, 0 warnings



Is it related to different version of polyvox or what?

Author:  David Williams [ Tue Nov 13, 2012 11:50 am ]
Post subject:  Re: Transvoxel Algorithm

At least some of these are related to the PolyVox version (for example references to 'getThreshold'). You might want to try getting an older version of PolyVox by looking at the dates on the posts in this thread.

Author:  kalwalt [ Tue Nov 13, 2012 1:20 pm ]
Post subject:  Re: Transvoxel Algorithm

i tried with all the previuos release but the best result i had with polyvox version 'PolyVox-GIT-2e4bf67' from download page. But still i got this error regarding boost:
Quote:
------------- Build: all in ogredemo ---------------

Using makefile: Makefile
[ 8%] Building CXX object CMakeFiles/ogredemo_a.dir/src/ogre_utility.cpp.o
[ 16%] Building CXX object CMakeFiles/ogredemo_a.dir/src/volume_renderer.cpp.o
In file included from /home/walter/polyvox-tva/./include/tree/tree.h:30:0,
from /home/walter/polyvox-tva/src/volume_renderer.h:33,
from /home/walter/polyvox-tva/src/volume_renderer.cpp:27:
/home/walter/polyvox-tva/./include/cube/cube.h:106:23: error: ‘enable_if’ in namespace ‘boost’ does not name a type
/home/walter/polyvox-tva/./include/cube/cube.h:106:32: error: expected ‘,’ or ‘...’ before ‘<’ token
/home/walter/polyvox-tva/./include/cube/cube.h:188:29: error: ‘enable_if’ in namespace ‘boost’ does not name a type
/home/walter/polyvox-tva/./include/cube/cube.h:188:38: error: expected ‘,’ or ‘...’ before ‘<’ token
make[2]: *** [CMakeFiles/ogredemo_a.dir/src/volume_renderer.cpp.o] Errore 1
make[1]: *** [CMakeFiles/ogredemo_a.dir/all] Errore 2
make: *** [all] Errore 2
Process terminated with status 2 (0 minutes, 8 seconds)
4 errors, 0 warnings


and i saw in the readme file this:
Quote:
General Notes:
* Define POLYVOX_TVA_INLINE to "inline" or to a compiler specific macro/attribute/pragma that can take
the place of "inline", such as "__forceinline" (msvc), or "__attribute__((always_inline)) inline" (gcc,
be sure to escape spaces and parentheses). The same can be done for the cube library, with CUBE_INLINE.
If they are not defined, they default to "inline".


but not really sure to understand.

in CmakeList.txt i uncommented the line:

Quote:
##FIXME
add_definitions(-DPOLYVOX_TVA_INLINE=__attribute__\(\(always_inline\)\)\ inline -DCUBE_INLINE=POLYVOX_TVA_INLINE)


but i got the same error...

also Cmake don't make automatic linking of the lib and include and i have to set manually (and i got same warnings)
Quote:
Configuring done
WARNING: Target "ogredemo_a" requests linking to directory "/usr/local/lib". Targets may link only to libraries. CMake is dropping the item.
WARNING: Target "ogredemo_a" requests linking to directory "/home/walter/PolyVox-GIT-2e4bf67/PolyVox-GIT-2e4bf67/build/library/PolyVoxCore". Targets may link only to libraries. CMake is dropping the item.
WARNING: Target "ogredemo_b_app" requests linking to directory "/usr/local/lib". Targets may link only to libraries. CMake is dropping the item.
WARNING: Target "ogredemo_b_app" requests linking to directory "/home/walter/PolyVox-GIT-2e4bf67/PolyVox-GIT-2e4bf67/build/library/PolyVoxCore". Targets may link only to libraries. CMake is dropping the item.
WARNING: Target "unittest" requests linking to directory "/usr/local/lib". Targets may link only to libraries. CMake is dropping the item.
WARNING: Target "unittest" requests linking to directory "/home/walter/PolyVox-GIT-2e4bf67/PolyVox-GIT-2e4bf67/build/library/PolyVoxCore". Targets may link only to libraries. CMake is dropping the item.
Generating done


maybe i don't set properly POLYVOX_LIB_LINK and OGRE_LIB_LINK maybe the error is related?

Page 3 of 5 All times are UTC
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/