問題タブ [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.

0 投票する
3 に答える
312 参照

math - 2つの反対の法線または2つのセグメントを見つける方法は?

ABとCDの2つのセグメント(赤)があります。これらの2つのセグメントは互いに向き合っています。それらは完全に平行ではありませんが、互いに垂直になることもありません。

それから、互いに反対のこれらのセグメントの2つの法線(青色)を見つける必要があります(つまり、2つの法線はABCDの外側にあります)。セグメントの法線を計算する方法は知っていますが、明らかに各セグメントには2つの法線があり、プログラムで必要な法線を選択する方法がわかりません。なにか提案を?

ここに画像の説明を入力してください

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

objective-c - 異常な照明効果 - ランダムなポリゴンの色

iOS で使用するオブジェクト ローダーの作成に取り組んでいます。OBJ ファイルから頂点、法線、および面データをロードし、このデータを配列に配置してオブジェクトを再構築しました。しかし、照明の問題に遭遇しました。下部にあるのは、プログラムのシミュレーションからのビデオです。これは、照明が次の位置にある場合です。

これは、各フレームの render メソッドと、セットアップ時に 1 回呼び出されるセットアップ ビュー メソッドの両方で指定されます。

さまざまなその他の照明の詳細はここにあります。これらはセットアップ中に一度呼び出されます。

問題のビデオは次の場所にあります。

http://youtu.be/dXm4wqzvO5c

ありがとう、

ポール

[編集]

詳細については、法線は次のコードによっても提供されます。現在、それらは大きな法線配列または XYZ XYZ XYZ などにあります...

0 投票する
2 に答える
416 参照

opengl - クワッドの法線ベクトル

glBegin と glEnd を使用して単純なクワッドを描画しました。for ループを使用して、クワッドのコピーを作成し、3D 空間で y 軸を中心に回転させます。問題は、クワッドが前方にしか見えないことです。後ろのこれらは表示されません。問題は法線ベクトル内にあり、その方向は私に向かっていると思います。1 つのクワッドに対して 2 つの法線ベクトルを定義する可能性はありますか?

0 投票する
3 に答える
1121 参照

c++ - OpenGL ライティングの問題

OpenGL でライティングを有効にしたときに、作成したオブジェクトを表示できません。3D Max からインポートされたオブジェクトがあり、ライティングは正しく機能しますが、シーンの残りの部分は機能しません。法線を指定する必要があることはわかっていますが、これは役に立たないようです。display() 関数で単純なポリゴンを作成すると正しく動作しますが、クラスのメソッドで作成され、display() 関数で呼び出された他のポリゴンは表示されません。

ここに私の照明コードがあります

これは私の海を作成している私のクラスメソッドです

これは、以下のように私の display() 関数で呼び出されます

なぜこれが見えないのですか?

アップデート:

テクスチャリングを無効にすると、海が見えます。テクスチャと照明を使用できるように修正するにはどうすればよいですか?

更新 2:

テクスチャリングを GL_MODULATE に変更しましたが、機能させるためにブレンディングも削除する必要がありました。ブレンディングを有効にする必要がありますか?

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

c++ - 頂点法線の計算 OpenGL

波の頂点法線を計算しようとしていますが、希望する滑らかなシェーディングではなく、市松模様の効果が得られます。

ここに画像の説明を入力

関数に正しいベクトルを渡しているのか、calcNormal()それとも何か問題があるのか​​ わかりません。

ここに私のウェーブコードがあります

これがcalcNormal()機能です

そしてこれがcrossProduct()関数です

何か案は?

0 投票する
2 に答える
2355 参照

opengl - GLSL を使用して、フレーム内のすべてのフラグメントのすべての目空間法線を持つテクスチャを RGB データ (a la normal mapping) で生成するにはどうすればよいですか?

シーンのスクリーンショットのように、何らかの方法でテクスチャをレンダリングする必要がありますが、各フラグメントの背後にあるポイントのカラー データの代わりに法線が保存されます。これにより、法線マップに似たテクスチャが生成されます (この など)。私はかなりの調査を行いましたが (ほとんど役に立ちませんでした)、直感的に、これを行う最も簡単な方法は GLSL シェーダーであることがわかりました。

それで、GLSLまたはそれ以外でこれを実装する方法はありますか?

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

opengl - GLSL シェーダー + ライティング / 法線の使用

私はこれほど小さくはないタイルベースのゲームを手に入れました。これは私の最初の実際の OpenGL プロジェクトです。すべてのタイルを 3D オブジェクトとしてレンダリングしたいと考えています。最初に、立方体や球体などのオブジェクトをいくつか作成し、それらに頂点法線を指定して、フラット シェーディングのイミディエイト モードでレンダリングしました。しかし、レベルごとに 10,000 個のオブジェクトがあるため、少し遅くなりました。そこで、頂点と法線を VBO に入れました。

ここで最初の問題に遭遇しました。VBO を使用する前に、すべてのオブジェクトのマトリックスを編集して編集し、/ を使用push()してそれらをシーンに配置しました。しかし、VBO で同じことを行ったところ、照明の動作がおかしくなり始めました。カメラの後ろに固定された照明の位置ではなく、照明がオブジェクトと一緒に回転するように見えました。それらを 180 度回転すると、影しか見えませんでした。pop()glTranslateglRotate

だから私はいくつかの研究をしました。私は特定の問題に対する答えを見つけることができませんでしたが、glTranslate/を使用する代わりに、glRotateシェーダーを実装して均一なマトリックスを提供する必要があることを読みました。

私は「おそらく私の問題も解決できるだろう」と考え、詳細に集中する前にシェーダーが機能するかどうかを確認するために、オブジェクトを少しだけ引き伸ばす最初の小さな頂点シェーダー プログラムを実装しました。

オブジェクトが引き伸ばされますが、OpenGL のフラット シェーディングが壊れています。私はちょうど白い色合いを取得します。そして、私は有益な情報を見つけることができません。だから私はいくつかの質問を得ました:

  • 一度に 1 つのシェーダーしか使用できません。独自のシェーダーを使用する場合、OpenGL のフラット シェーディングはオフになりますか? では、フラット シェーディングを自分で実装する必要がありますか?

  • 私のベクトル法線はどうですか?正規行列のようなものがあるとどこかで読みました。おそらく、頂点を変更するときに、法線にも操作を適用する必要がありますか?

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

java - 法線を度に変換する方法は?

私はゲームに取り組んでおり、Entity基本クラスを書いています。エンティティの多くはパーティクル (2D) のように動作するため、回転度の代わりに法線を使用したいと考えています。ただし、OpenGL を使用しているため、回転する法線の角度が必要です。法線から度に、またはその逆に変換する最速の方法は何ですか。などの三角関数を使用できることは知っていますatan2 sin cosが、より高速な方法があると確信しています。どんな助けや指示もいただければ幸いです。

ここに画像の説明を入力

0 投票する
3 に答える
2587 参照

c++ - OpenGL法線の計算(クワッド)

私の問題はOpenGLとNormalsに関するもので、その背後にある数学を理解しており、ある程度の成功を収めています。

以下に添付した関数は、インターリーブされた頂点配列を受け入れ、4つの頂点ごとに法線を計算します。これらは、同じ方向を持つQUADSを表します。私の理解では、これらの4つの頂点は同じ法線を共有するはずです。彼らが同じように直面している限り。

私が抱えている問題は、QUADSが次のように斜めのグラデーションでレンダリングしていることです。光の効果-影が中央にあり、光が隅にあることを除いて。

私は一貫した方法でQUADSを描きます。TopLeft、TopRight、BottomRight、BottomLeft、および法線の計算に使用する頂点は、TopRight-TopLeft、およびBottomRight-TopLeftです。

誰かが私が失敗したものを見ることができるといいのですが、私は何時間もこれに取り組んできました。

記録のために、私は立方体をレンダリングし、オブジェクトの横にティーポットを置いて照明が機能していることを確認しているので、ライトの位置に問題はないと確信しています。

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

3d - DEC3N & UDEC3 形式を解凍するにはどうすればよいですか?

いくつかのメッシュ ファイルを変換するために使用する小さなツールがあります。メッシュ ファイルには、法線が DEC3N または UDEC3 形式で保存されています。それを3つの通常のフロートCPU側に展開するにはどうすればよいですか?