タグ付けされた質問 「physically-based」

2
拡散反射と鏡面反射の違いは物理的にどの程度ですか?
リアルタイムのコンピュータグラフィックスで表面をシェーディングする古典的な方法は、(ランバート)拡散項と鏡面反射項の組み合わせであり、最も可能性が高いのはPhongまたはBlinn-Phongです。 現在、Frostbite、Unreal Engine、Unity 3Dなどのエンジンの物理ベースのレンダリング、したがってマテリアルモデルに向かう傾向により、これらのBRDFは変更されました。たとえば、最新のアンリアルエンジンはまだランバートディフューズを使用していますが、鏡面反射にクックトーランスマイクロファセットモデルと組み合わせて使用​​します(特にGGX / Trowbridge-Reitzとフレネル項の修正されたスリック近似を使用) )。さらに、導体と誘電体を区別するために「金属性」の値が使用されています。 誘電体の場合、拡散はマテリアルのアルベドを使用して色付けされますが、鏡面反射は常に無色です。金属の場合、拡散は使用されず、鏡面反射項には材料のアルベドが乗算されます。 現実世界の物理マテリアルに関して、拡散反射と鏡面反射の厳密な分離は存在しますか?存在する場合、それはどこから来たのですか?なぜ一方が着色されているのに、もう一方は着色されていないのですか?導体の動作が異なるのはなぜですか?

3
物理ベースのシェーディング-アンビエント/間接照明
M. PharrとG. HumphreysによってPBRTを研究した後、物理ベースのパストレーサーを実装しました。今、OpenGL ESを使用して(iPhoneアプリケーションで)物理ベースのレンダリングをリアルタイムグラフィックスに適用しようとしています。 Oren-NayarとCook-Torranceを拡散反射鏡BRDFとして使い始めたいのですが、問題があります:間接照明をどのようにモデル化すればよいですか? (pbrtに含まれるような)パストレーサーでは、直接/間接照明を考慮して光線の経路をたどるので、間接/周囲光はパストレーシングアルゴリズムから「自動的に」与えられます。 OpenGL ESで記述された物理ベースのレンダリングで間接照明をモデリングするにはどうすればよいですか?リアルタイムコンピューターグラフィックスを使用して?

2
パストレーシング用の適切なレンズ/カメラの客観的モデルを構築する方法
smallptを学習して実験した後、小さなパストレーサーを作成しました。 自分で書いていない(理解していない)唯一のことは、初期光線がどのように計算され、カメラから発射されるかです。原則は正しいのですが、次の方法を説明するリソースを探しています。 光線の初期方向を計算します おそらく被写界深度などの効果を可能にする(ピンホールカメラではなく)実際のレンズをモデル化しますか? 最先端の数学と物理学は必須ではありませんが、十分に説明されていればOKです。

3
Cook-Torrance / Torrance-Sparrowモデルの正しい鏡面反射項
しばらくの間、私は物理ベースのレンダリングのトピックに関するいくつかの研究を行ってきました。何度も言及される反射モデルの1つは、クックトーランス /トーランス-スパロウモデルです。このモデルの各言及または説明では、鏡面反射用語の異なる形式が使用されているようです。私が見つけたバージョンは次のとおりです。 FD Gπ(N⃗ ⋅ V⃗ )(N⃗ ⋅ L⃗ )FDGπ(N→⋅V→)(N→⋅L→){\frac {FDG}{\pi ({\vec N}\cdot {\vec V})({\vec N}\cdot {\vec L})}} FD G4 (N⃗ ⋅ V⃗ )(N⃗ ⋅ L⃗ )FDG4(N→⋅V→)(N→⋅L→){\frac {FDG}{4 ({\vec N}\cdot {\vec V})({\vec N}\cdot {\vec L})}} FD G(N⃗ ⋅ V⃗ )(N⃗ ⋅ L⃗ )FDG(N→⋅V→)(N→⋅L→){\frac {FDG}{({\vec N}\cdot {\vec V})({\vec N}\cdot {\vec L})}} ...

4
シェーダー数学の場合、リニアRGBがsRGBの色域を保持する必要があるのはなぜですか?
sRGBは、多くの場合「リニアRGB」と対比されます。 画像はディスクに保存され、sRGBのディスプレイに渡されます。これは、知覚的にほぼ均一な強度です。 シェーダー演算は線形RGBで行われ、物理的に強度が均一です。 ガンマ補正は、2つの間の変換に適用できます。 現在、sRGBには色域で色域を指定する規格があり、純粋な赤、緑、青、白の正確な位置を示しています。ただし、「リニアRGB」だけに対応する標準はありません。 任意の色度図上の三角形の中から選択するいくつかのよく知られた域がありますが、確かに、直線的であると言われて、ことができます: 実際には、「リニアRGB」と言うときは、「ガンマ補正なしのsRGB」を意味します。(これは、最終的な後処理ステップとしてsRGBガンマ補正を適用し、残りのレンダリングパイプラインの色空間を無視する場合に暗黙的に実行していることです。) しかし、なぜ その RGB色域は、補間と照明の計算に使用するのに適切な色域なのでしょうか?それはarbitrary意的です。どちらかといえば、内部計算に可能な限り最大の色域を使用し、最後に出力デバイスの色域に合わせて色をクリップまたはスケールしませんか? RGBライティングはどのような場合でも近似値になるので、どの色域を選択しても問題ありません。ディスプレイがネイティブにサポートする色域に最も近いものを選択することもできますか?それは単なる過失ですか?または、これらの異なる色域での計算では、実際にはまったく同じ結果が得られますか?

3
球面調和関数と光プローブとは何ですか?
球面調和関数と光プローブとは何ですか?コンピュータグラフィックスではどの程度役立ちますか?彼らは正確に何をしますか?siggraphのプレゼンテーションからブログの投稿まで、どこでも球面調和関数と光プローブという言葉を聞いたことがあります。 最近、Matt Pettineo がそれらについて6部構成のブログシリーズを投稿しましたが、それが何であるかはまだわかりません。 環境照明を改善する別の方法ですか?

1
水面を包むための偏光反射と屈折
周回する宇宙の生息地で水のリアルな画像をレンダリングしたい。画像をリアルタイムで生成する必要はありませんが、数週間もかかることは望ましくありません。私は数時間または数日で現実的な画像を生成できるアプローチを探しています。 生息地は円筒形で、湾曲した内面が生活空間です。円柱の軸を中心とした回転は、重力の近似値を提供します。私はこれの物理学のシミュレーションの詳細を探しているのではなく、画像のレンダリングだけを探しています。 私が知りたい特定の側面は、偏光です。水面から反射された光は偏光され、水に入った光は反射光に対して垂直に偏光されます。この効果を無視して、反射および透過する光の割合を単純にモデリングすると、水面が1つしかない場合でも十分に機能しますが、円筒形の生息地に曲面の大部分を占める水域がある場合、特定の光線が生成されます広範囲の異なる角度での多重反射。つまり、反射される光の割合は、以前に適用された偏光角に依存します。 湾曲した水面からの複数の反射の現実的な画像を提供できるような効果を組み込んだ既存のアプローチはありますか?また、偏光を使用して屈折をモデル化する必要があります。水は場所によって浅くなるので、偏光屈折が結果に影響を与えると予想しています。 そうでない場合、既存のレイトレーサーを適応させることはできますか、またはゼロから始めるアプローチが必要ですか? 私は、臨時の観察者に現実的なものを渡すだけでなく、予期しない効果を発見するために、リアリズムを探しています。明らかに、ほとんどのオブザーバー(私を含む)は日常生活に馴染みがないため、探している効果を知りません。そのため、私は「説得力がある」よりも「合理的に物理的に正しい」を探しています。

1
海洋波レンダリング
ホワイトキャップとフォームと波の強度が変化する水域の波をどのように生成できますか?表面は法線マップのメッシュですか?それを生成するための式はありますか?ホワイトキャップがどこにどのようにレンダリングされるかを決定するのに似たものはありますか?私はこの論文に出くわしましたが、あまり明確ではありません。 論文では、波の発生について語っています。ホワイトキャップとフォーム専用のセクションがあり、ホワイトキャップとフォームを生成するための公式を示していますが、それを必要とする水の部分にのみ適用するにはどうすればよいですか?私が観察したことに基づいて、それがホワイトキャップを必要とする領域としてFを表すだけですが、誰かがそれがどのように機能するかを明確にすることができますか?

1
単一散乱マイクロファセットBSDFモデルにおけるエネルギー損失の補償
オリジナルのTorrance-Sparrow BRDFのような単一散乱マイクロファセットベースの表面モデル、またはWalterらによる粗い誘電体表面のBSDFのような派生モデル。マイクロファセット間の光の相互反射を無視します。これにより、特に粗さの値が高くなると、エネルギー損失が発生して暗くなる原因となります。 この問題は、ファーネステストを使用して簡単に実証できます。次の画像は、0.2から1.0までの粗さパラメーターのスミスモデルとGGX分布を使用した導電性マイクロファセットBRDFの実装の動作を示しています(問題を見やすくするために、ここではフレネル係数を意図的に1に設定しています)。 0.2から1.0までの粗さパラメーターのスミスモデルとGGXマイクロファセット分布を使用した粗い誘電体(IoR 1.51)BSDFのファーネステスト: エリックハイツ他 は最近、光の相互作用を完全に解決することによって暗くなる問題を解決する多重散乱モデルを提案しましたが、LuxRenderフォーラムでHeitz自身が言及したように、その評価ルーチンの確率論的な性質に起因するパフォーマンスの問題があります。 単一散乱モデルの失われたエネルギーを回復するための既知の補償方法はありますか?必ずしも物理的に正しいわけではありませんが、少なくとも物理的な妥当性(ヘルムホルツの相反性とエネルギーの節約)を壊しすぎないようにします。理想的には、手動でパラメータを調整する必要はありません。 でディズニーBSDF、そこに端で暗くの補償のために使用することができる「光沢」と呼ばれるパラメータ化コンポーネント(基本的にはフレネルベースの光沢のある葉)があるが、彼らは彼らの中で言及してシーグラフ2015もちろん、それは非常にアドホックメソッドです。 「...これは非常に概算であり、他の粗さの値ではうまく機能しません...」 LuxRenderフォーラムでの前述の Eric Heitz のコメントも、補償ハックを使用することを提案していますが、残念ながら詳細については触れていません。 私の知る限り、より単純なハックを使用して、単一散乱モデルのエネルギー保存を改善できます(アルベドの微調整など)。ただし、これを行うと、BSDFの相反性を壊さずに、完全にエネルギーを節約する材料(たとえば、完全な白い粗いガラス)を得ることができません。

3
(拡散/アルベド)テクスチャとしての16ビットハーフフロートリニアHDR画像?
だから私はしばらくこれについて考えていて、グーグルで答えを探しましたが、成功しませんでした。 すべてのテクスチャがJPEGなどの8ビットLDR画像である場合、レンダリング時に露出制御/トーンマッピングと競合する可能性はありません。これは、低ダイナミックレンジによってクランプされているため、実際には存在しないテクスチャの詳細を公開する必要がある画像のレンダリング露出を調整する場合です。したがって、テクスチャをHDRイメージとして保存し、.exrとして保存して、16ビットハーフフロートの線形カラースペースで適切なカラー表現を取得することは意味がありません(32ビット「フル」フロートはやりすぎかもしれません)。より詳細で正しい色の値を取得するには、GIとカラーブリードの計算方法にも影響があると思います。 それとも、必要なレンダリングの最終結果はおそらく何らかの方法で写真を撮ったときのテクスチャの露出レベルと同じになるので、それは単に必要ではないのですか?また、カメラは主に12〜14ビットで撮影するので、テクスチャを複数回露光し、それらすべてを1つのHDRIにつなぎ合わせるために余分な作業をすべて行う必要があります。 編集: 明確にするために、私は主にこれに興味を持っていますリアルタイムゲームエンジン。

2
拡散エリアライトの総放射パワー
私は、Physical Based Rendering(Pharr、Humphreys)という本を読んでいます。ライトの章では、さまざまな種類のライトの総放射電力の概算について説明します。たとえば、ポイントライトの合計パワーはintensity * 4 * piです。ここで4piは球全体の立体角を表します。強度*立体角=パワー(または放射束)なので、これは私には理にかなっています。これも単位で確認できます。強度はW / srで、立体角はsrなのでW/sr * sr = W、電力はワットで測定されます。チェックアウトします。 ただし、の対応する計算がわかりませんDiffuseAreaLight。本についての私の理解から、拡散エリアライトから放出される総パワーは次のように計算されemitted radiance * area * piます。放射輝度の単位はW /(sr * m ^ 2)なので、面積を乗算するとW / srが得られます。これにより、円周率は立体角を表すと思いますが、なぜ1piだけなのでしょうか。エリアライトの各ポイントは完全な半球で放射するため(2piステラジアンに対応)、私は2piを推測したでしょう。 この本に記載されている実際のコードは、こちらにあります。 私は何を誤解していますか?なぜtotal emitted power = emitted radiance * area * pi拡散エリアライトに意味があるのですか?

1
ヤングのダブルスリット実験のモデリング
ヤングのダブルスリット実験は、セットアップと説明が非常に簡単ですが、回折と干渉の両方の例であり、どちらも従来のレイトレーシングではモデル化されていません。 テクスチャを使用して結果の近似をレンダリングするのは簡単ですが、そのためには、結果がどうあるべきかを事前に知る必要があります。スリットの数と配置が事前にわからない任意の設定の場合、正しい結果の画像を生成するために効果をモデル化するための既存のアルゴリズムはありますか? そうでない場合、これらの効果を正確に生成するには、モデルに何を含める必要がありますか?レイトレーシングは、追加情報を運ぶレイを使用するように適合させることができますか、それともまったく新しいアプローチが必要ですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.