問題タブ [bump-mapping]
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.
three.js - バンプ マップとスペキュラ マップのエクスポート
新しい MeshPhongMaterial Bump と Specular ハイライトを見てきました。それらをゲーム エンジンに取り込むのが待ちきれません。現在、Pythonコンバーターを使用してOBJファイルを.jsファイルに変換しています。ただし、リリース 51 のエクスポーターは、これらのマテリアルを処理していないようです。
また、ほとんどのメッシュに 2 つ以上のマテリアルがあり、MeshFaceMaterial を使用していることも懸念しています。
MeshPhongMaterial に変更すると、複数のテクスチャが壊れますか? これを実現するには、別のエクスポーターを使用する必要がありますか? Bump および Specular マップを使用して .3ds ファイルから変換する最適なワークフローは何ですか? この話題が落ち着くまでしばらく待ってみようかな。
javascript - バンプマップを繰り返す
Three.js r55を使用して、バンプマップを平面に適用し、漠然と感じられるようなサーフェスを作成しようとしています。
これが私のコードです:
x/y軸に沿って2回繰り返すようにテクスチャを設定したことに注目してください。しかし、私が見ているのは、1つの象限のテクスチャのみを適用しています。
私はこれをクランプ/リピートラッピング(またはそれが呼ばれるもの)で期待しますが、私はRepeatWrapping
ここで要求しました。
バンプマップを平面上で任意の回数正しく繰り返すにはどうすればよいですか?
編集-フルコード
簡単な複製ケースを作り始めました。これは非常に最小限であり、下の画像を(わずかに異なるカメラアングルから)再現します。出力にも同じ問題があります。
これはThree.jsr55(縮小)にリンクしています。
助けていただければ幸いです。
shader - バンプ マップの法線と実際の法線を組み合わせるにはどうすればよいですか?
バンプ マッピングを使用してシェーダーを作成しようとしています。
オブジェクトの実際の法線と、法線をサンプリングしたバンプ マップがあります。私がやりたいのは、サンプリングされた法線を回転させて、サンプリングされた法線の「上」が実際の法線の方向を向くようにすることです。
私は数学に取り組んできましたが、正しく理解できないようです... Y はこの世界で起きています。
opengl - GLSL - ノイズに基づくバンプ マッピング
GLSL フラグメントと頂点シェーダーで、下の画像に似たスタッコ テクスチャを作成しようとしています。
これを達成するには複数の方法があることを知っています。ただし、ノイズ関数から受け取った値に基づいて、フラグメント シェーダーでサーフェス法線を乱すことに焦点を当てたいと思います。
私の思考プロセスは次のとおりです..
- 現在の位置をスカラーでスケーリングしたノイズ関数を送信します。
- ノイズを取得したら、サーフェス法線を乱して、フォン シェーディング モデルで使用できます。
しかし、そこからどこへ行くのかわかりません。
これが私がこれまでに持っているものです。
Vertex shader - Calculate Tangent は、オブジェクト ノルムに基づいて接線ベクトルを構築するためのヘルパー メソッドです。
フラグメント シェーダー - これまでのところ...
さて、私の実際の質問に。
どの法線をオフセットしますか? オブジェクトの法線をオフセットしますか? バンプ マッピングはオブジェクト スペースで行う必要があると読んでいます。
オフセットを法線に適用する最良の方法は何ですか?
システム情報: Mac OSX - OpenGL 3.2 - シェーダーは、新しい 3.2 をサポートしていない古い Mac でも動作する必要があります。
opengl - GLSL 法線マッピング (0.0 Lambert の領域が点灯)
モデルの法線を使用すると、結果は良好です (単純なランバート拡散シェーダから期待されるように、暗い領域と明るい領域があります)
しかし、法線マップを使用すると、暗い領域が明るくなります!
法線マップを使用しながら、これらの例のように正しい拡散照明を取得したい
これは、通常のマッピングを使用する場合と使用しない場合のコードです
これが法線マップを使用するコードです
頂点シェーダー
フラグメント シェーダー
注: 実際の法線マッピングは、スペキュラー ハイライトに見られるように正しく機能します。
Assimp を使用してモデル (md5mesh) をロードし、Assimp を使用してタンジェントも計算し、それを属性としてシェーダーに送信しました
ここに問題のコードとスクリーンショットへのリンクがあります
https://dl.dropboxusercontent.com/u/32670019/code%20and%20screenshots.zip
それはコードの問題ですか、それとも私の誤解ですか?
更新されたコードとスクリーンショット
https://dl.dropboxusercontent.com/u/32670019/updated%20code%20and%20screenshots.zip
法線マップは拡散反射光で機能するようになりましたが、拡散反射光だけでは正しくありません
javafx - JavaFX マテリアルのバンプとスペック マップ
JavaFX8 コードがカラー、バンプ、スペック マップをロードすると、カラーとスペックは期待どおりに機能しますが、バンプ マップが奇妙な効果を引き起こします。3 つすべてが地球のメルカトル図です。通常、バンプ マップによって追加される 3D 効果はありません。バンプ マップを使用すると、ヒマラヤとアンデスが地球の明るい側に光沢のある境界線のある黒い領域として表示され、カラー マップに表示されるように陰になった側に表示されます。私は何を間違っていますか?
3D に慣れていないので、最初に考えたのは、バンプ マップのピクセル カラー値をエレベーションにスケーリングする必要があるということですが、それが欠けています。