nmwsharp / nmwsharp/polyscope

GeometryCentral Corner Perms

オープン
#341 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
C++
スター
2.2k
フォーク
242
平均マージ
11分
マージ済み PR(30日)
1

説明

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

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、issue に記載されている整理済みの例を Polyscope 2.4.0 と GeometryCentral で再現し、次に polyscopePermutations パスと parameterization チャネルの corner-data ルックアップを調べます。利用可能であれば、Polyscope 2.1.0 と動作を比較します。チャネルと pick 機能が、Polyscope の生のインデックスではなく、マッピングされた GeometryCentral の corner 値を使用すれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cpp
領域
computer-graphics
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
42/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。