タグ付けされた質問 「supersampling」

1
レイトレーシングでのアンチエイリアス/フィルタリング
レイトレーシング/パストレースにおいて、画像のアンチエイリアスを行う最も簡単な方法の1つは、ピクセル値をスーパーサンプリングし、結果を平均化することです。IE。ピクセルの中心を通してすべてのサンプルを撮影する代わりに、サンプルをある量だけオフセットします。 インターネットを検索してみると、これを行うために多少異なる2つの方法が見つかりました。 必要に応じてサンプルを生成し、フィルターで結果を比較します 1つの例はPBRTです フィルターの形状に等しい分布を持つサンプルを生成します 2つの例は、smallptとBenedikt Bitterliのタングステンレンダラーです。 生成と計量 基本的なプロセスは次のとおりです。 必要に応じてサンプルを作成します(ランダム、成層、低差異シーケンスなど) 2つのサンプル(xおよびy)を使用してカメラレイをオフセットします。 レイでシーンをレンダリングする フィルター関数とピクセル中心を基準としたサンプルの距離を使用して重みを計算します。たとえば、ボックスフィルター、テントフィルター、ガウスフィルターなど) レンダリングから色に重みを適用します フィルターの形で生成する 基本的な前提は、逆変換サンプリングを使用して、フィルターの形状に従って分散されるサンプルを作成することです。たとえば、ガウスの形で分布するサンプルのヒストグラムは次のようになります。 これは、正確に実行するか、関数を個別のpdf / cdfにビニングすることで実行できます。smallptは、テントフィルターの正確な逆累積分布関数を使用します。ビニング方法の例はこちらにあります ご質問 各方法の長所と短所は何ですか?そして、なぜあなたは他の上に1つを使用するのですか?私はいくつかのことを考えることができます: Generate and Weighは最も堅牢であるようであり、任意のサンプリング方法と任意のフィルターの任意の組み合わせが可能です。ただし、ImageBufferの重みを追跡し、最終的な解決を行う必要があります。 フィルターの形状で生成は、負のpdfを持つことができないため、正のフィルター形状のみをサポートできます(つまり、Mitchell、Catmull Rom、またはLanczosはサポートしません)。ただし、前述のように、重みを追跡する必要がないため、実装が簡単です。 ただし、最終的には、メソッド2はメソッド1の単純化と考えることができます。これは、本質的に暗黙的なボックスフィルターの重みを使用しているためです。

2
ピクセル内で複数のランダムサンプルを使用するアンチエイリアシングの基本的な理由は何ですか?
グラフィックスでは、ピクセルの境界内で複数のサンプルを取得し、それらを組み合わせて(一般的には単に平均化して)最終サンプルピクセルカラーにするのが一般的です。これには、画像のアンチエイリアシングの効果があります。 あなたが効果的にやっているのは、ピクセルが表す領域にピクセルの色を統合しているからです。この考え方では、モンテカルロ統合を行うには、「ランダムな」サンプルを平均化することが理想的な設定のようです。(「ランダム」は成層化、ブルーノイズベース、低不一致シーケンスなど) 一方、これは、デジタル信号処理の観点からは間違っている(または、少なくとも可能な限り正確ではない)と感じています。その観点から、多くのサンプルを取得し、ボックスフィルター(ボックスブラー)を使用してダウンサンプリングし、最終的なピクセル値を取得しているように感じます。その観点から、サンプルを平均化するのではなく、sincフィルターを使用することが理想的なようです。ボックスフィルターは、これらの線に沿ったsincの考え方に対するより安価な近似であることがわかりました。 これにより、少し混乱します。ピクセル領域を統合し、平均化が正しいというコアアイデアはありますか?または、ダウンサンプリングしてsincを使用する必要がありますが、高速なのでボックスフィルターを使用していますか? それともまったく別のものですか? 少し関連:レイトレーシングのアンチエイリアシング/フィルタリング
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.