GeometryCentral Corner Perms
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 2.2k
- Forks
- 242
- Avg merge
- 11m
- Merged PRs (30d)
- 1
Description
Hey,
I'm running into issues with getting parameterized data loaded from geometry central. It seems that the permutations for the corners aren't being set correctly. I've verified that the "polyscopePermutations" function produces valid maps at the time of registration (and after). However, it seems to ignore the perms and just reads the corner data using the polyscope index. Here is an example of a simple quad (bisected). When viewing the parameterization channel, it seems to use the "original" values (confirmed by pick functionality). I believe this was working when I was using Polyscope 2.1.0, but now I'm getting this issue on 2.4.0. It may actually be from GC with that official update (1.0.0) but I don't think so. I'm technically running a fork of geometry central 1.0.0 for custom access to intrinsic triangulations, but nothing to do with the extrinsic / embedded code used here.
EDIT: I've cleaned the code and the output, attached an image to better communicate what is happening.
[DEBUG] Corner Parameterization Values:
[DEBUG] GC Corner ID 0 | Face ID 0 | UV [1,0]
[DEBUG] GC Corner ID 1 | Face ID 1 | UV [0,1]
[DEBUG] GC Corner ID 2 | Face ID 0 | UV [0,1]
[DEBUG] GC Corner ID 4 | Face ID 0 | UV [0,0]
[DEBUG] GC Corner ID 6 | Face ID 1 | UV [1,0]
[DEBUG] GC Corner ID 8 | Face ID 1 | UV [1,1]
[DEBUG] Corner permutation (6 entries):
[DEBUG] Corner IDs (PS, GC) -> UVs (PS, GC)
[DEBUG] Corner IDs (0, 0) -> UVs ([1,0], [1,0])
[DEBUG] Corner IDs (1, 2) -> UVs ([0,1], [0,1])
[DEBUG] Corner IDs (2, 4) -> UVs ([0,1], [0,0])
[DEBUG] Corner IDs (3, 6) -> UVs ([0,0], [1,0])
[DEBUG] Corner IDs (4, 8) -> UVs ([0,0], [1,1])
[DEBUG] Corner IDs (5, 1) -> UVs ([0,0], [0,1])
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the cleaned example described in the issue with Polyscope 2.4.0 and GeometryCentral, then inspect the polyscopePermutations path and the parameterization channel's corner-data lookup. Compare behavior with Polyscope 2.1.0 if available. Done means the channel and pick functionality use the mapped GeometryCentral corner values rather than raw Polyscope indices.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 42/100