問題タブ [vispy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
191 参照

opengl - OpenGL でオブジェクトのエッジの法線を反転

OpenGL で 3D パラメトリック サーフェスをレンダリングするためにvispyを使用しています。ほとんどの部分でうまく機能しているように見えますが、奇妙に見えます

法線が内側を向いているかのように、ジオメトリのエッジの周りの一部で()。

問題は、特にカメラ方向に対して垂直に近い領域で、フラグメント シェーダーまたはサーフェス法線のいずれかにあると思われます。頂点の作成方法は次のとおりです。

フラグメント シェーダー:

コードの残りの部分はモジュールに分割されていますが、簡単に言うと、次のようになります。

  • MeshDataは頂点と面から構築されます
  • 法線は、頂点の位置と、対応する三角形を定義する順序に基づいて、MeshData で内部的に生成されます。
  • キャンバスと OpenGL ウィンドウが作成され、初期化されます
  • メッシュは三角形のストリップとして描かれます

問題のある部分は、メッシュの三角形の定義です。例:

もともとは 2D 関数z=f(x,y)の三角形を生成するためのもので、うまく機能しましたが、パラメトリック サーフェスr(u,v) = [ x(u,v), y(u,v), z(u,v) ] . たとえば、これがパラメータv+2piではなく0から-2piになる理由です(そうしないと、法線が内側を向いてしまいます)。

画像に見られる不具合の原因について何か考えはありますか?

(または、より良い三角形の生成に関するアドバイスはありますか?)

0 投票する
1 に答える
132 参照

python - gloo(Pythonのwebgl)で個々の行のLine_Widthを制御することは可能ですか?

gloo バックエンドを使用する VisPy では、3D 座標を介して描画された線の with を次の方法で変更できます。

一度に、完全に。

配列のような色を使用して線の幅/太さを指定する方法はありますか? gloo を変更する必要がありますか、またはいくつかのコマンドで Line_Width を設定できますか?