問題タブ [normals]
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.
directx - DirectXでの頂点法線の計算
学習経験として、私は即時モードで管理されるDirectX9アプリケーションを作成しています。
グーローシェーディングをスムーズにするために、シーン内のすべての三角形の頂点法線を手動で計算しています。
これは期待どおりに機能しますが、これは最も効率的なアプローチではないと思います。GPUにこれを実行させることは可能ですか?
math - 3D 空間で任意に変換された正三角形の法線
出発点を見つけることができないように見える問題があります。答えを得るのに十分なほどうまく説明できるかどうかさえわかりません。
三角形の点を事前に知らなくても、3D 空間で正三角形の法線を見つける必要があります。三角形の「譲歩」道路標識の写真を任意の角度から撮影し、その写真から標識の外向きの法線を決定することを考えてみてください。(正確にはそうしていませんが、似ています。したがって、ここからは記号/写真の比喩を使用します)。
** 更新 **: この同じ質問が、私のバージョンを尋ねる前日に出てきました。ここで見ることができます。私を指摘してくれたBlueRajaに感謝します。そこでの議論が答えになると思います。ただし、以下に示す計算アプローチも非常に興味深いものです。
コードで三角形を作成するときに三角形の法線を見つける方法は知っていますが、3D で写真の三角形にポイントをマッピングする方法がわかりません。各辺の長さを知っているので、どの方向でもポイントをどれだけ離す必要があるかがわかります。三角形をオーバーレイして位置に合わせて回転させ、そこからポイントを取得できる対話型ツールを構築できますが、対話なしでこれを行う必要があります。それをしても、関連する数学を理解するのに役立ちません。
正しい回転行列を見つけるだけでなく、ポイントを決定する必要があるかどうかさえわかりません。
どこから始めればよいのかわかりません... コンセプトの検索結果が空になるか、目的の検索結果が得られない (例: それらは 3D ではなく 2D 変換です)
また、私が物事を過度に複雑にしている可能性もあり、スリープ状態でこれを行う単純な変換方程式があります。
考え?前もって感謝します!
opengl - OpenGL レンダリング出力から法線情報を取得する
これをシンプルに保つようにします。
フレーム バッファ出力 (または同様のもの) から、シーンの通常の情報にアクセスする方法が必要です。glGetTexImage と GL_DEPTH_COMPONENT を使用して深度バッファにアクセスできるのと同じ方法です。
通常の情報を RGB カラー スペースで出力するフラグメント シェーダーをセットアップして、レンダリングされたイメージから読み取ることができることはわかっています。しかし、openGL API 内でこれを行う方法があるかどうか疑問に思っています。
リクエストに応じてできる限り明確にします、ありがとう
opengl-es - 法線はいくつですか?
WebGLでレンダリングするためにポリゴンの法線を計算する場合、インデックス配列のすべてのインデックスまたは頂点配列のすべての頂点に法線を使用しますか?
iphone - 誰か glDrawElements (iPhone) の使い方を説明してもらえますか?
重複して申し訳ありませんが、何時間もグーグルで検索しましたが、結果はありません。
コンバーターからエクスポートされた単純なキューブのこの (最適化された) データがあります。
テクスチャが設定されていて、画面に何かを見たいと思っています。以下の私の最近の描画コード:
opengl - 頂点と法線にインデックスが適用されたglDrawElements
たとえば2つの配列(1つは法線用、もう1つは頂点用)がある場合にglDrawElementsメソッドを使用し、頂点と法線の間にインターリーブされたインデックスバッファーを使用することは可能ですか?
例:立方体のレンダリング
3d - 2 つの 3D 三角形が同じ平面上にあるかどうかを計算する
私が取り組んでいる 3D ゲーム エンジンでは、2 つの 3D 三角形が同じ平面上にあるかどうかを計算して、それに応じて表示する必要があります。3D 空間で三角形の角度を計算するにはどうすればよいですか?
表面法線を計算してそれらを比較すると、2 つの同等の法線が得られるでしょうか?
3d - 接線、従法線、およびその他のシェーダー関連のもの
法線バンプ マッピング、視差マッピングなどを含むマッピング テクニックの多くは、特別な頂点単位の接空間ベース(接線、法線、従法線 / 従接線) を必要とします。
これは明らかに、モデルが頂点位置、テクスチャ座標、頂点ごとの近似法線をエクスポートするだけでなく、接空間基底ベクトルの 1 つ (通常はtangent
)もエクスポートする必要があることを意味しますcross(tangent, normal)
。
位置、法線、UV、および接線は、実際には次のように相互に依存していることに注意してください(接線ベースを準備するには、頂点に関する他のすべてのことを知っておく必要があります)。
さて、現代の 3D ゲーム / レンダリング エンジンでは、この種の処理はどのように行われているのでしょうか?
それらは実際に各頂点ごとに法線、接線、およびuv 座標を提供しますか、それとも実行時に何らかの方法で計算できますか? それらはモデル データの一部であるべきですか、それとも実行時のみのプロパティであるべきですか?
また、ジオメトリ シェーダーを使用すると、実行時に法線と接線を実際に準備できることもわかっていDirect3D10+
ます (当然のことながら、各三角形の頂点にアクセスできるため) 。
opengl - 三角形メッシュへの法線の計算と適用
三角形のメッシュがあり、メッシュを描画するときに法線を適用できるように法線を計算しようとしています。私はイミディエート モードを使用しており (頂点配列がどのように機能するかを理解する時間があれば、おそらく頂点配列に変更する予定です)、GL_TRIANGLE_STRIP でメッシュを描画しています。
頂点法線の計算に問題があります。計算に使用する隣接頂点をより正確に決定し、それらの法線をいつ設定するかを決定します。このことを考慮:
平面法線を取得するには、平面に属する 2 つのベクトルの外積を計算する必要があることを知っています。したがって、その例では、上の三角形の法線は (2-1)x(3-1) を実行して計算でき、2 番目の三角形は (2-4)x(3-4) を実行して計算できます。イミディエイト モードでトライアングル ストリップを描画する場合、法線をどのように適用しますか?
私が行っていたのは、vtx 1 が設定されているときに最初の法線を設定し、vtx 4 が設定されているときに 2 番目、vtx 5 が設定されているときに 3 番目の法線などを設定することでした。三角形の頂点 (それらがすべて同じであるべき場合)。たとえば、三角形 |2,3,4| は正しい法線を持つ頂点 4 のみを持ちます (頂点 2 と 3 の法線は最初の三角形の法線になるため)。
では、どのようにすればよいのでしょうか。方法はありますか、またはに変更する必要がありGL_TRIANGLES
ますか? (時間がないので、今のところ即時モードの使用をやめたくありません)。
android - この Android 鏡面照明の例が意図したとおりに機能しないのはなぜですか?
次のコードで生成されたバイナリにスペキュラ ハイライトが表示されないのはなぜですか?
コードからそのまま見えるものを次に示します (鏡面照明コンポーネントのみ): http://i.imgur.com/4kvIx.png
アンビエント照明コンポーネントのみ: http://i.imgur.com/80Tjx.png
拡散照明コンポーネントのみ: http://i.imgur.com/r5PkO.png
おそらく興味深いのは、glOrtho への呼び出しの zNear/zFar パラメーターが何もクリップしていないように見えることです。鏡面ハイライトを表示するようにシーンを適切に設定しましたか (ライトを頂点の近くに配置しようとしました)。