問題タブ [pbr]
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.
ios - SceneKit: PBR を無効にせずに iOS 10 で iOS 9 照明の色効果 (一方向、一周囲) を再現する方法は?
Apple フォーラムのこのスレッドで言及されているように、iOS 10 のライトは弱くなり、シーンの見え方が変わります。
スレッドはSCNDisableLinearSpaceRendering
YES に設定することを提案していますが、これは機能しませんでした。別の言い方をSCNDisableLinearSpaceRendering
すれば、 を使用しても、iOS 10 と iOS 9 のシーンが同じように見えるわけではありません。少なくとも私たちのテストではそうではありません。
また、次のことも試しました。
以下のスクリーンショットは、同じシーンの違いを示しています。照明は同じでも、床が緑から黄色に変わることに注目してください。
シーンには、1 つのディレクショナル ライトと 1 つのアンビエント ライトが含まれています。
シーンを再現するためのファイル: https://www.dropbox.com/sh/cg5f7hyf1oonxfu/AAAJef7LhpSxuJyUSjqfGbmca?dl=0 .
うまくいったとしても、SCNDisableLinearSpaceRendering
YESに設定するとPBRが無効になるようです。
私たちのアプリでは、ユーザーがディレクショナル ライトの色をカスタマイズできます。目標は、PBR を利用しながら、iOS 10 シーンで iOS 9 シーンから同じカスタマイズされた照明を再現することです。
1) iOS 10 のシーンが iOS 8/9 のシーンと同じに見えるようにするにはどうすればよいですか?
2) PBR の恩恵を受けながら、どのようにナンバー 1 を達成できますか?
iOS 8/9 (シミュレーターで実行):
iOS 10 (ユーザーデバイスで実行):
unity3d - なし Unity PBR アセットと標準シェーダー
私たちは 2 人の開発者からなる小さなスタジオです。アセット ストアですべてのアセットを購入しましたが、モデル データベースを拡張する必要があるため、Turbosquid も検討しています。Unity 5 で見栄えが良くなるため、PBR アセットのみが必要です。
Turbosquid の多くのアセットには、これらのテクスチャが付属しています
アルベド/メタリックとノルム。Unity 標準シェーダーに対応する場所がありますが、Roghness と AO についてはどうですか?これらのようなアセットを Unity 5 標準シェーダーに変換するチュートリアルはありますか?
Unity 5 には Smoothness と呼ばれるものがあります。これは Roughness に対応していますか? はいの場合、それをメタリック テクスチャのアルファとして含める方法のヒントはありますか?
opengl - Frostbite PBR: 同じテクスチャの個別のテクスチャ チャネルで異なる圧縮
OpenGL4.x の別々のチャネルで異なる圧縮アルゴリズムを使用して RGBA テクスチャを作成して読み取ることは可能ですか?
本当の意味のない例 A:
- RGチャンネルは、3Dc でエンコードされた法線マップを格納します
- Bチャネルには、エンコーディングを使用したテッセレーションなどの高さの値が格納されます
- チャネルは未加工のMaterialID を圧縮せずに保存します
例 B:
- RGBは DXT1 で圧縮されたマテリアル パラメータを保存します
- Aは MaterialID を圧縮せずに保存します
バックグラウンド:
15 ページと 18 ページのPhysically Based Rendering PBR (PDF)の Frostbite 実装で、著者はマテリアル パラメータをさまざまなテクスチャ チャネルにどのように構造化したかを説明しています。彼らはまた、一部のチャンネルでテクスチャ圧縮を回避したことにも言及しており、それが意味するチャンネルの詳細については触れていません。
15ページ
ディファード デカールをサポートするには、すべての基本属性 (Normal、BaseColor、Smoothness、MetalMask、Reflectance) をブレンド可能にする必要があります。MaterialId などのブレンド不可能な属性は、アルファ チャネルに格納されます。また、ブレンドの品質に影響を与える可能性のある圧縮およびエンコードのメカニズムも回避しました。
18ページ
この場合、いくつかの属性で圧縮を回避し、単純な線形補間アルファ ブレンディングに依存することを選択しました。
reflection - BRDF は通常どのように実装されますか?
小さなパス トレーサーがあり、いくつかの基本的な BRDF を実装する方法を見つけようとしています。私が使用するパイプラインの簡単な説明を次に示します (再帰なし)。
そこで、ステップ で反射光線の方向を計算し1.1.1) I construct a path
ます。
とりあえず、拡散反射、鏡面反射、光沢反射、屈折を実装しました。ここで、複雑な BRDF を実装したいと思います。たとえば、Cook-Torrance BRDF としましょう。いくつかのコンポーネント (拡散反射と鏡面反射) が含まれていることがわかります。組み合わせを取得するには、これらの光線をどのようにトレースすればよいですか? ランダムにdiffuse_ray/specular_rayの間で選択し、値を(いくつかの係数を掛けて)通常通り蓄積するべきですか? (たとえば、ランダムな値が0.5より大きい場合は拡散光線を追跡し、そうでない場合は鏡面反射光を追跡します)または複数の光線を追跡する必要がありますか?各交差点から?
通常、物理ベースのレンダラーではどのように実装されますか?
PS誰かがこのトピックに関する良い記事を知っていれば、私はそれらを見てうれしいです. pbrt を読み込もうとしましたが、非常に複雑で巨大に思えます。また、カメラのモデルやその他のもののように、実装が異なるものもあります。