plotly / plotly/plotly.js

Transparent faces in mesh plots overlap incorrectly

Aperta
#3,243 12 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

bug P2
Lingua principale
JavaScript
Stelle
18.3k
Fork
2k
Merge medio
2g 12h
PR unite (30g)
28

Descrizione

Normally, when a face is opaque it can obscure other faces, or if the camera is rotated 180 degrees the first is now obscured by the second. This is currently not true for faces with opacity < 1. Instead it seems as if they are always layered in order of creation, so the first face in the mesh will always be on top (or beneath?) the others, no matter their relative 3D location.

The example contains 4 triangles: the two on the left are opaque while the two on the right are transparent.

  • Notice how the orange face is always in front of the blue one, even though they intersect and part of it should be behind, as demonstrated by the purple and red triangles.
  • Even if the camera is rotated.

plotly bug
https://codepen.io/anon/pen/bQqeMg

This leads to situations where obscured objects are drawn in front. All the boxes in the image below are either behind or inside the Blue one.
plotly bug2

Observed in Chrome 70.0.3538.102 and Firefox 63.0.1 (64-bit) on Win 10

Guida per i contributori

Apri la guida per i contributori

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 con la riproduzione CodePen collegata ed eseguila in Chrome o Firefox. Confronta i triangoli opachi e trasparenti intersecanti mentre ruoti la fotocamera, quindi verifica che le facce trasparenti siano ordinate in base alla loro posizione 3D anziché all'ordine di creazione e che gli oggetti nascosti non vengano più renderizzati in primo piano.

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

Valutazione

Stack tecnologico
javascript
Ambito
computer-graphics, data-visualization
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.