plotly / plotly/plotly.js

Transparent faces in mesh plots overlap incorrectly

オープン
#3,243 コメント 12 件 リアクション 1 件 担当者 0 名 GitHub で見る

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

bug P2
主要言語
JavaScript
スター
18.3k
フォーク
2k
平均マージ
2日 12時間
マージ済み PR(30日)
28

説明

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

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

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

はじめの一歩

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

調査の方向性

リンクされたCodePenの再現を開始し、ChromeまたはFirefoxで実行します。カメラを回転させながら交差する不透明な三角形と透明な三角形を比較し、透明な面が作成順ではなく3D位置に基づいて並べられていること、また遮られたオブジェクトが前面にレンダリングされなくなっていることを確認します。

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

評価

技術スタック
javascript
領域
computer-graphics, data-visualization
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

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

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