レイトレーサーのサブピクセルレンダリング


16

フォントレンダリングでは、サブピクセルレンダリングを使用するのが一般的です。ここでの基本的な考え方は、ピクセルをRGBコンポーネントに分割し、それぞれの値を個別に計算することです。各コンポーネントはピクセル全体よりも小さいため、高品質のアンチエイリアスが可能です。

レイトレーサーに対して同じことを行う、明らかに類似した方法があります。各サブチャネルで再構成フィルタリングを個別に行います。

しかし、これを行うレイトレーサーへの参照を見つけることができなかったことに驚きました。特に、すでにスペクトルレンダリングを行っている場合、これは明らかなことのように思えます。私が聞いたことのない雑誌のこの論文は、関連しているようです。しかし、全体的に、サブピクセルレンダリングは一般的なことではないようです。私の質問:なぜですか?


サブピクセルレンダリングされた画像は、縦向きの画面で表示した場合でも大丈夫に見えますか?
ジェームズドリン

エンジニアとして、私はそのような...壊れたアイデアを実装することに決して同意しません。ディスプレイが完全に固定されていると確信している場合を除きます。iPhone 5Sのアプリのように。この手法を使用すると、反転したパターンまたは異なる配置を使用して、画面から壊れた画像が生成されます。
v.oddou

回答:


14

これは完全に可能です

違いは特に目立たないかもしれませんが、正確なピクセルジオメトリを考慮したサンプリングにより、わずかに正確な画像が得られることが期待されます。その色のサブピクセルの(平均)位置に従って、色成分ごとにピクセル中心をオフセットする必要があります。すべてのピクセルレイアウトで、ピクセルとサブピクセルが1対1で対応しているわけではないことに注意してください。

たとえば、penTile RGBGには、ウィキペディアの次の画像が示すように、赤と青の2倍の緑のサブピクセルがあります。

RGBGピクセルジオメトリの画像を拡大

任意のフルカラー画像を作成するためにこれを使用することを妨げる技術的な理由は知りません。実際、カラフルなシーンは、白地に黒のテキストよりも目立つカラーアーティファクトが少ないため、色の違いをカモフラージュするのが最も難しくなります。

フォントはオンデマンドでレンダリングされます

レイトレースシーンのレンダリングとフォントのレンダリングとの関連する違いは、フォントがオンデマンドでレンダリングされる傾向があり、使用中の画面を考慮できることです。これとは対照的に、レイトレースされたシーンは、多くの場合、事前にレンダリングされ、その後、さまざまな種類の画面(さまざまなピクセルジオメトリ)に表示されます。たとえば、レイトレース画像をWebページに表示すると、特定のモニタータイプに合わせて調整できなくなります。

リアルタイムレイトレーシングプログラムを設計していて、モニターのピクセルジオメトリをチェックするアクセス権がある場合、特定のサブピクセルレイアウトにレイトレースできます。ただし、静止画像を生成するオフラインレイトレーシングは、1種類のピクセルジオメトリにのみ調整できます。これにより、他のピクセルジオメトリでは画像の外観が悪くなります。この問題を回避するには、一連の異なる画像をレンダリングし、後で特定のタイプのモニターに表示されるときに適切な画像を選択します。

長期的な利益はありそうにない

したがって、レイトレーサーのサブピクセルレンダリングを開発できなかった理由はありませんが、それはモニターの側面が常にわかっているわけではないことを考慮することを意味します。留意すべきもう1つのことは、縮小する市場向けにこのソフトウェアを開発することです。サブピクセルレンダリングは、解像度が比較的低い画面に役立ちます。ますます多くの画面(モバイル画面でも)が、サブピクセルレンダリングによる違いを人間の目で検出できないほどの高解像度に近づいているため、実際の使用よりも理論的な関心が高まる可能性があります。


3
悪魔の提唱者を演じて、可能であればカラーサブピクセルレンダリングを行う(私は懐疑的です!)おそらく(非網膜?)携帯電話やテーブルにも?
アランウルフ

1
@AlanWolfeはい、しかしレンダリングにも3倍の費用がかかる
-joojaa

確かに、それは本当です。ただし、それが問題にならない状況もあります。たとえば、フレームごとにピクセルごとに光線を照射する必要のないアルゴリズムをいくつか知っています。これは、ラスタライズされたグラフィックスでプレイすることもできるようです。繰り返しますが、カラーサブピクセルレンダリングは本物だとは思いませんが、IFが知っています!:P
アランウルフ

@AlanWolfeあなたの疑問を理解できません。すべての画像はすでにサブピクセルでレンダリングされていますが、色は3分の1から0.5ピクセルの範囲でずれています。そのズレをどのように修正しても、より高品質の画像が生成されないかはわかりません。特定の懸念事項がありますか(良い質問になるかもしれません...)?
trichoplax

3
@joojaaレンダリングのコストが3倍になる理由はありません。3倍の光線を照射する必要はありません。レイをフレームバッファに蓄積するときに3つの異なるウェイトを適用するだけです。実際には、各カラーチャネルに異なるアンチエイリアスカーネルを使用しています。
ネイサンリード

9

もちろん、任意の画像にサブピクセルレンダリングを使用できます。 ただし、サブピクセルレンダリングは実際には一般的な2D画像処理技術であり、レイトレーシングとは特に関係ありません。他の3Dレンダリング方法、または単純な2D描画、写真、ビデオでも使用できます。

したがって、「レイトレーシング用のサブピクセルレンダリング」は、個別に処理するのが最適な2つの問題領域を実際に融合していると思います。関連する唯一の接続については、リアルタイムでシーンをレイトレーシングし、結果の画像がサブピクセルレンダリングを使用して画面に描画されることがわかっている場合、この情報を使用してピクセル密度(およびアスペクト中間画像の比率)(例:典型的なRGB LCDスクリーンに3x水平ピクセル密度を使用)。


潜在的な混乱の原因は、現在のコンピューターシステムでは、サブピクセルレンダリングがテキストにのみ一般的に使用され、通常フォントレンダリングコードに統合されていることです。この主な理由はほぼ間違いなく歴史的ですが、最大の見返り(視覚的改善と読みやすさの観点から)が一般的に見られる場所でもあります。

また、テキストは単純で反復的なベクトル図形で構成される傾向があるため、サブピクセルレンダリングをフォントレンダラーに統合すると、テキストを高解像度バッファーにレンダリングしてから後処理するだけでなく、最適化の機会がさらに増えます。

そうは言っても、最終的には、テクノロジーが成熟するにつれて、サブピクセルレンダリングがGPUまたはスクリーン自体によって透過的に行われるシステムに移行することを完全に期待しています。

(これには、この機能を最大限に活用して、「論理ピクセル」とは必ずしも同じ形状ではない、より小さな物理ピクセルを処理するアプリケーションが必要になる可能性が高いでしょう。高DPI画面での方向。)


テルベツロア!はい、あなたのポイントは有効です、idはシステムまたはハードウェアがこれを行う必要があると言います。システムだけが将来現実的に画面の向きと画面上の色の構成を認識することができるからです。スクリーン自体がこれを行うことが望ましい。
-joojaa
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.