Comments (4)
OK, I've found a couple of new situations that will crash Ao, one of which might not be related to this thread but I'll include it anyway since I have a feeling it'll still be useful -- and the other of which is DEFINITELY related, and is the simplest test case yet, and doesn't do anything to "cheat" the distance function, which should rule that out as a possible cause...
CRASH 3:
In the line:
(scale x y z 1 0.5 1 (lambda (x y z)
change the second 1 to a 2, to make it
(scale x y z 1 0.5 2 (lambda (x y z)
and Ao will instantly crash.
CRASH 4:
Change the negative end of the Z axis of the bounding box from -6
to -8
, and Ao will instantly crash.
from libfive.
fwiw, turning down the resolution then scaling up the model in code (after increasing the bounds to make room) also causes Crash 2, so it does seem like it has to do with trying to render that function at a certain amount of detail, rather than just something about the literal resolution value itself.
from libfive.
I added CRASH4
as a unit tests, where it reproduces the problem.
The issue here is that during meshing, two evaluations of the same point give slightly different values (?!). The first evaluation gives 0
, which is inside the shape; the second gives a tiny positive value (1e-9
or so), which is outside.
There's something strange going on with Eigen: if I disable vectorization with -D EIGEN_DONT_VECTORIZE -D EIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT
), the test passes, but other unrelated tests start failing (?!).
Anyways, 5f89d8a should work around the issue by not doing the second evaluation (so there's no room to disagree). This fixes all the tests cases above on my machine; can you pull and test it out?
from libfive.
That fixes all four for me :) Thanks so much!
from libfive.
Related Issues (20)
- Where to look for complete Guile docs HOT 1
- Help understanding why libfive_tree_render_mesh would return nullptr HOT 7
- Output final optimized tree as JSON? HOT 1
- nodejs bindings HOT 4
- frac function? Edit: Solved! Use mod 1! HOT 4
- I cant see a Window when opening Libfive Studio HOT 2
- Stream meshing immediately to STL? HOT 2
- Compiling on Fedore FC37 HOT 1
- Problem to compile libfive on FC37 HOT 8
- Embed Libfive in an application - general SDF Question HOT 4
- Feature request: Separate bounds/resolutions for different objects in the same scene? HOT 2
- Return multiple shapes without using union, in Python? HOT 4
- New url for inspekt3d HOT 2
- Double free or corruption error when trying to use libfive HOT 3
- Expose normals in libfive_mesh HOT 2
- Does Mesh::render consume the libfive_tree? HOT 3
- Unioning nothing at the top level causes things to mesh very slow HOT 6
- koffi and ffi-napi both segfault when meshing non-trivial models HOT 6
- Publish new release and set soversion for building shared libraries
- I've packaged this for OpenSuse
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libfive.