It is currently Wed Dec 11, 2019 3:39 am


All times are UTC




Post new topic Reply to topic  [ 4 posts ] 
Author Message
 Post subject: Build system
PostPosted: Wed May 20, 2015 9:46 pm 

Joined: Wed May 20, 2015 9:27 pm
Posts: 7
Hi

First I want to thank you for this great library.

I have exceptions disabled in my project. I saw the POLYVOX_THROW_ENABLED in your develop branch. and I have a couple of questions.

- Is there a reason it is in Config.h along with other error handling defs and not controlled by CMake?
- I don't think documentation and bindings are controlled by a CMake property. Is there a reason for this?
- I got an error that getLoggerInstance does not belong to PolyVox::Impl but it belongs to PolyVox directly.

Can I submit a PR to solve these small issues?

Also what bleedingedge branch do you recommend to work with in my game. I see there progress in the optimization and develop branches, What about Dual Contouring branch that would be interesting.

Thanks


Top
Offline Profile  
Reply with quote  
 Post subject: Re: Build system
PostPosted: Thu May 21, 2015 11:56 am 
Developer
User avatar

Joined: Sun May 04, 2008 6:35 pm
Posts: 1827
kariem2k wrote:
First I want to thank you for this great library.


Thanks!

kariem2k wrote:
I have exceptions disabled in my project. I saw the POLYVOX_THROW_ENABLED in your develop branch. and I have a couple of questions.


It's interesting that people still want this option. I added it about 3-4 years ago as Android didn't seem to support exceptions, but I wasn't sure if it was still useful. Can I ask why you are still not using exceptions? Is it compiler/environment constraints or just personal preference?

kariem2k wrote:
- Is there a reason it is in Config.h along with other error handling defs and not controlled by CMake?


CMake is only used for the examples and tests - the library itself is header-only and can simply be copied into another project without any building required (this is true of develop, not of master).

kariem2k wrote:
- I don't think documentation and bindings are controlled by a CMake property. Is there a reason for this?


I think in principle they should be, at least there is relevant code here and there are CMakeLists.txt files in the Documentation and Bindings folders. I think they may be dependant on certain tools (Doxygen/Sphinx/SWIG) being found though. Be aware that the bindings don't work (header-only and heavy template usage add some challenges here) and I'm not sure what the future of them will be. Documentation generation is also not tested often, but in principle it should be fixed if broken. It might only have worked on Linux though.

kariem2k wrote:
- I got an error that getLoggerInstance does not belong to PolyVox::Impl but it belongs to PolyVox directly.


This has been fixed on another branch which I was expecting to merge into develop soon. But I've cherry-picked the relevant commit for you so develop should build now.

kariem2k wrote:
Can I submit a PR to solve these small issues?


Yes, but try to avoid refactoring the CMake system too much. I'm not really an expert with CMake so it needs to be kept simple so that I can maintain it.

kariem2k wrote:
Also what bleedingedge branch do you recommend to work with in my game. I see there progress in the optimization and develop branches...


I recommend you use develop. Master is too old (we should really do a release soon...) and develop does compile/work most of the time. If it breaks then just use the last working version of develop.

kariem2k wrote:
What about Dual Contouring branch that would be interesting.


Matt is the best person to ask as he did the work there. I believe the surface extraction algorithm is indeed working. However, this is just one part of a Dual Contouring voxel engine - you will also need to know how to generate and manipulate Hermite data as PolyVox only handles storage.


Top
Offline Profile  
Reply with quote  
 Post subject: Re: Build system
PostPosted: Thu May 21, 2015 2:02 pm 

Joined: Wed May 20, 2015 9:27 pm
Posts: 7
Thanks for the detailed response.

I have a simple C++ live coding code in my "weekends-only" game project that compiles game logic CPP header only files on the fly and JIT the modules using Clang/LLVM.
I use that mainly for prototyping formulas and math stuff for the game (Since I am not very smart :)).
I keep that as simple as I can for speed of compilation (But on the other hand it depends heavily on templates and constexprs) and ease of handling, for that reason I opted out exceptions, RTTI and I only use header only libraries in the runtime-loadable code like GLM, stb_* and now polyvox to avoid any linking & any issues associated with it when JITing.

I think I will start with the original marching cubes implementation. Since I know nothing about voxel rendering so it might be sufficient for my needs.

Thanks


Top
Offline Profile  
Reply with quote  
 Post subject: Re: Build system
PostPosted: Tue Mar 15, 2016 3:44 am 

Joined: Tue Mar 08, 2016 5:28 am
Posts: 1
Thank you guys for the great information you have shared on the topic. This information give us more inputs to the new user or beginners who know nothing about all this things.

______________________
medieval sword


Top
Offline Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Theme created StylerBB.net