Comments (3)
Hi Oleg, support can be added.
The topology of all genus > 0 surfaces requires them to be treated differently compared to sphere like (genus 0) surfaces. In both cases, a cut needs to be made on these surfaces to make them flattenable (i.e., they need to be transformed into surfaces with a single boundary). In the genus 0 case, the cut forms a spanning tree through the cone singularities. In the genus > 0 case, the cut is slightly more complicated (this is a good resource on what the cut needs to be like and how to compute it: http://www.cs.cmu.edu/~kmcrane/Projects/LoopsOnSurfaces/).
There are 2 practical challenges:
- Automatic methods for cutting these surfaces tend to produce zigzaggy boundaries which might be difficult to edit on a granular level. An alternative here could be to let the user manually specify the cut. A hybrid approach is also possible.
- Since genus > 0 surfaces will be cut as a preprocessing step and the resulting surface will serve as input to BFF (or any other uv mapping tool), the map will have seams across the cut on the original surface.
from boundary-first-flattening.
@rohan-sawhney Neither of these issues should be too hard to deal with:
-
There are plenty of ways to get a nicer cut through handles. Even just using short homology generators will give something nicer than homotopy generators. (We can chat more about this.)
-
There should be no problem enforcing length compatibility across this cut: just use a single length degree of freedom per cut edge when constructing the boundary polygon. This way there is (at very least) no jump in texture resolution across the cut.
from boundary-first-flattening.
@OlegJakushkin To summarize, this is mainly a matter of development effort; some good solution is definitely possible.
from boundary-first-flattening.
Related Issues (20)
- seeking surface model with holes HOT 3
- Port to wasm for web
- Mesh has isolated vertex HOT 1
- Include GLFW as Dependency HOT 2
- Concepts in the project HOT 1
- Compile with emscripten question HOT 2
- UV Overlapping problem? HOT 2
- AdjacencyTable uses a slow data structure HOT 1
- `std::vector<bool>` has unfortuante and unexpected implementation HOT 1
- Half edge mesh operations cannot be inlined HOT 1
- Mesh has non manifold vertices HOT 2
- Mac Command Line error - Access Denied HOT 2
- non-manifold edges warning when holes/multiple components HOT 1
- README needs an update for the C++ interface HOT 2
- Asymmetric result after flattening HOT 7
- Vector subscript is out of range exception. PolygonSoup.cpp. HOT 4
- About flattening to a rectangle with specified aspect ratio HOT 3
- How to output area distortion from an app HOT 2
- feat: Export error/quality measures
- Parallel unwrapping
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 boundary-first-flattening.