Cut decals and hotspot sections in exact arithmetic

Aperta
#177 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
15/100
Tipo di issue
Refactoring
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
csharp, unity

Direzione di ricerca

Start with DecalClipping (kEpsilon, SnapTo) and OutputHotspotSections / HotspotSections.Conforming, then trace how their output feeds OutputMeshCleanup and the weld. The issue asks for an investigation rather than a fixed change: whether ExactPlane, ExactInt and ExactTriangulator can do these cuts before floats, and what the cost per update is on the hotspot test scene and the sample scene. There is no defined finish line yet, so the first useful step is a written proposal from a maintainer.

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

Descrizione

enhancement

Decals and hotspot sections cut the surfaces the CSG made after the exact part of the pipeline, in doubles with tolerances:

  • DecalClipping clips each surface triangle against a decal's planes (Sutherland-Hodgman, kEpsilon), walks shared edges in a fixed order so both sides compute the same points, and snaps points near a boundary onto it (SnapTo)
  • OutputHotspotSections / HotspotSections.Conforming cut drawn surfaces along section lines in double2 in the surface's frame, with tolerances such as alongEdge
  • Polygon decals (#163) split their outline into convex parts and cut each with DecalClipping

To look at:

  • Doing these cuts with the exact types (ExactPlane, ExactInt, ExactTriangulator) before anything is rounded to floats, so cut points on shared edges, outlines and section lines agree by construction instead of by tolerance
  • Clipping a surface polygon against a concave outline directly, instead of convex part by part
  • What OutputMeshCleanup and the weld still need to do afterwards
  • Cost per update against the current cuts, on the hotspot test scene and the sample scene
Lingua principale
C#
Stelle
135
Fork
15
Merge medio
24m
PR unite (30g)
90

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

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.

Altre issue di RadicalCSG/com.chisel

Tutte le issue di RadicalCSG/com.chisel

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.