nmwsharp / nmwsharp/polyscope

GeometryCentral Corner Perms

Aperta
#341 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
C++
Stelle
2.2k
Fork
242
Merge medio
11m
PR unite (30g)
1

Descrizione

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])

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia riproducendo l’esempio ripulito descritto nell’issue con Polyscope 2.4.0 e GeometryCentral, quindi ispeziona il percorso polyscopePermutations e la ricerca dei corner-data del canale di parameterization. Confronta il comportamento con Polyscope 2.1.0, se disponibile. Il lavoro è completato quando il canale e la funzionalità di pick utilizzano i valori corner di GeometryCentral mappati invece degli indici Polyscope grezzi.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
cpp
Ambito
computer-graphics
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
42/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.