問題タブ [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.
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になる理由です(そうしないと、法線が内側を向いてしまいます)。
画像に見られる不具合の原因について何か考えはありますか?
(または、より良い三角形の生成に関するアドバイスはありますか?)
python - gloo(Pythonのwebgl)で個々の行のLine_Widthを制御することは可能ですか?
gloo バックエンドを使用する VisPy では、3D 座標を介して描画された線の with を次の方法で変更できます。
一度に、完全に。
配列のような色を使用して線の幅/太さを指定する方法はありますか? gloo を変更する必要がありますか、またはいくつかのコマンドで Line_Width を設定できますか?