Giter Site home page Giter Site logo

dhaumont / visilib Goto Github PK

View Code? Open in Web Editor NEW
18.0 18.0 4.0 4.33 MB

The visilib project aims to provide an efficient and robust C++ library for exact visibility computation in 3D.

CMake 4.29% Batchfile 0.35% Shell 0.07% C++ 95.28%
3d-graphics algorithm computational-geometry exact occlusion-culling plucker pvs visibility visibility-analysis visibility-detection visibility-graph

visilib's People

Contributors

dhaumont avatar kannoneer avatar ramcdona avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

visilib's Issues

Crashes in demo

Demo crashes after scene changes.

Steps to reproduce:

  1. run visiblibDemo
  2. press 'x' seven times

Result:

Overflow detected: more than 200 recursive calls....
visilibDemo: /home/user/dev/foss/visilib/demo/../visilib/visibility_aperture_finder.h:104: visilib::VisibilityResult visilib::VisibilityApertureFinder<P, S>::resolveInternal(visilib::PluckerPolytope<P>*, const string&, const std::vector<visilib::Silhouette*>&, const std::vector<_Tp>&, int) [with P = visilib::MathPlucker6<double>; S = double; std::string = std::__cxx11::basic_string<char>]: Assertion `0' failed.
Aborted (core dumped)

System:

$ g++ --version
g++ (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0

LEDA is unavailable

First of all, thanks for sharing this amazing piece of software. But I'm having problems compiling with exact arithmetic support because LEDA library is not available anymore.

The website at http://www.algorithmic-solutions.info/free/d5.php says

LEDA FREE EDITION IS NO LONGER DISTRIBUTED!

Is there any workaround for this? I can build and run the demo without exact arithmetic support though.

Occlusion errors in the second demo scene

Platform:
Win10, Visual Studio 2022, x64 build (debug and release), without exact arithmetic libraries

To reproduce:
Launch visilibDemo.exe, press X to skip to the second demo: Two triangles and a large mesh.
The initial view is correct. Press "Space" to enable animation. I'm observing three cases:

  • correct case where stablines only pass through the empty space
  • inverse case where stablines pass only though the occluding polygon
  • stablines pass through both the empty space and the occluding polygon

Is that a bug, or a side-effect of non-exact arithmetic?

License question

Thanks for making Visilib available as open source and for all your work.

I am interested in calling Visilib from my program. While my program is open source, it is not GPL, and so it is not compatible with Visilib.

From what I can see so far, there are very few object-space 3D visibility libraries available -- do you know of any others?

I know Visilib uses CGAL (parts are GPL only, other parts are more permissive) and some other dependencies that may make changing licenses impossible. However, if it is possible, I would encourage you to consider that changing Visilib's license to LGPL would allow its use by more projects (open source and otherwise).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.