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

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

ios - SceneKit: PBR を無効にせずに iOS 10 で iOS 9 照明の色効果 (一方向、一周囲) を再現する方法は?

Apple フォーラムのこのスレッドで言及されているように、iOS 10 のライトは弱くなり、シーンの見え方が変わります。

スレッドはSCNDisableLinearSpaceRenderingYES に設定することを提案していますが、これは機能しませんでした。別の言い方をSCNDisableLinearSpaceRenderingすれば、 を使用しても、iOS 10 と iOS 9 のシーンが同じように見えるわけではありません。少なくとも私たちのテストではそうではありません。

また、次のことも試しました。

以下のスクリーンショットは、同じシーンの違いを示しています。照明は同じでも、床が緑から黄色に変わることに注目してください。

シーンには、1 つのディレクショナル ライトと 1 つのアンビエント ライトが含まれています。

シーンを再現するためのファイル: https://www.dropbox.com/sh/cg5f7hyf1oonxfu/AAAJef7LhpSxuJyUSjqfGbmca?dl=0 .

うまくいったとしても、SCNDisableLinearSpaceRenderingYESに設定するとPBRが無効になるようです。

私たちのアプリでは、ユーザーがディレクショナル ライトの色をカスタマイズできます。目標は、PBR を利用しながら、iOS 10 シーンで iOS 9 シーンから同じカスタマイズされた照明を再現することです。

1) iOS 10 のシーンが iOS 8/9 のシーンと同じに見えるようにするにはどうすればよいですか?

2) PBR の恩恵を受けながら、どのようにナンバー 1 を達成できますか?

iOS 8/9 (シミュレーターで実行):

ここに画像の説明を入力

iOS 10 (ユーザーデバイスで実行):

ここに画像の説明を入力

0 投票する
0 に答える
356 参照

unity3d - なし Unity PBR アセットと標準シェーダー

私たちは 2 人の開発者からなる小さなスタジオです。アセット ストアですべてのアセットを購入しましたが、モデル データベースを拡張する必要があるため、Turbosquid も検討しています。Unity 5 で見栄えが良くなるため、PBR アセットのみが必要です。

Turbosquid の多くのアセットには、これらのテクスチャが付属しています

ここに画像の説明を入力

アルベド/メタリックとノルム。Unity 標準シェーダーに対応する場所がありますが、Roghness と AO についてはどうですか?これらのようなアセットを Unity 5 標準シェーダーに変換するチュートリアルはありますか?

Unity 5 には Smoothness と呼ばれるものがあります。これは Roughness に対応していますか? はいの場合、それをメタリック テクスチャのアルファとして含める方法のヒントはありますか?

ここに画像の説明を入力

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

opengl - Frostbite PBR: 同じテクスチャの個別のテクスチャ チャネルで異なる圧縮

OpenGL4.x の別々のチャネルで異なる圧縮アルゴリズムを使用して RGBA テクスチャを作成して読み取ることは可能ですか?

本当の意味のない例 A:

  1. RGチャンネルは、3Dc でエンコードされた法線マップを格納します
  2. Bチャネルには、エンコーディングを使用したテッセレーションなどの高さの値が格納されます
  3. チャネルは未加工のMaterialID を圧縮せずに保存します

例 B:

  1. RGBは DXT1 で圧縮されたマテリアル パラメータを保存します
  2. Aは MaterialID を圧縮せずに保存します

バックグラウンド:

15 ページと 18 ページのPhysically Based Rendering PBR (PDF)の Frostbite 実装で、著者はマテリアル パラメータをさまざまなテクスチャ チャネルにどのように構造化したかを説明しています。彼らはまた、一部のチャンネルでテクスチャ圧縮を回避したことにも言及しており、それが意味するチャンネルの詳細については触れていません。

15ページ

ディファード デカールをサポートするには、すべての基本属性 (Normal、BaseColor、Smoothness、MetalMask、Reflectance) をブレンド可能にする必要があります。MaterialId などのブレンド不可能な属性は、アルファ チャネルに格納されます。また、ブレンドの品質に影響を与える可能性のある圧縮およびエンコードのメカニズムも回避しました。

18ページ

この場合、いくつかの属性で圧縮を回避し、単純な線形補間アルファ ブレンディングに依存することを選択しました。

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

reflection - BRDF は通常どのように実装されますか?

小さなパス トレーサーがあり、いくつかの基本的な BRDF を実装する方法を見つけようとしています。私が使用するパイプラインの簡単な説明を次に示します (再帰なし)。

そこで、ステップ で反射光線の方向を計算し1.1.1) I construct a pathます。

とりあえず、拡散反射、鏡面反射、光沢反射、屈折を実装しました。ここで、複雑な BRDF を実装したいと思います。たとえば、Cook-Torrance BRDF としましょう。いくつかのコンポーネント (拡散反射と鏡面反射) が含まれていることがわかります。組み合わせを取得するには、これらの光線をどのようにトレースすればよいですか? ランダムにdiffuse_ray/specular_rayの間で選択し、値を(いくつかの係数を掛けて)通常通り蓄積するべきですか? (たとえば、ランダムな値が0.5より大きい場合は拡散光線を追跡し、そうでない場合は鏡面反射光を追跡します)または複数の光線を追跡する必要がありますか?各交差点から?

通常、物理ベースのレンダラーではどのように実装されますか?

PS誰かがこのトピックに関する良い記事を知っていれば、私はそれらを見てうれしいです. pbrt を読み込もうとしましたが、非常に複雑で巨大に思えます。また、カメラのモデルやその他のもののように、実装が異なるものもあります。