processing / processing/libprocessing

Implement `Geometry` API Object

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

Nessuno ha ancora preso questa issue.

Lingua principale
Rust
Stelle
69
Fork
14
Merge medio
15g 22h
PR unite (30g)
3

Descrizione

We need to implement that basis for PShape. Let's steal the name from p5 and call this Geometry. Shape is kind of a weird term. Really, this is vertex data and we typically don't refer to 3d models as "shapes."

In Processing4, Shape contains Phong material info in its vertex layout. We definitely don't want to do this because we want to support materials as a first class API.

Steps:

  • Make it loadable as a Bevy Mesh.
  • Add lifecycle methods.
  • Build APIs for interacting with vertex layout, defining vertex attributes, etc.
  • Add support for modifying CPU side vertex data.
  • Add vertex buffer readback support. This is going to be a bit tricky as Bevy packs multiple meshes into vertex buffer slabs.

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

La issue non nomina file né test; inizia esaminando il riferimento Processing PShape e l’integrazione di Bevy Mesh menzionati nella descrizione. Il lavoro è completato quando Geometry viene caricato come Bevy Mesh e fornisce API per il ciclo di vita, il vertex-layout, i dati lato CPU e la lettura del vertex-buffer.

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

Valutazione

Stack tecnologico
rust
Ambito
computer-graphics
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.