
コンピュータ グラフィックスにおける反射は、鏡や光沢のある表面 などの反射オブジェクトをレンダリングするために使用されます。
正確な反射は、通常、レイ トレーシングを使用して計算されますが、近似反射は通常、環境マッピングなどのより簡単な方法を使用してより速く計算できます。木材やタイルなどの光沢のある表面の反射は、 3D レンダリングのフォトリアリスティックな効果を高めることができます。
反射レンダリングへのアプローチ

環境反射のレンダリングには、精度、計算、実装の複雑さが異なる多くの手法が存在します。これらの手法を組み合わせることも可能です。
レイトレーシングやパストレーシングなどの光線の追跡に基づく画像順序レンダリングアルゴリズムは、通常、多重反射や自己反射など、一般的な表面上の正確な反射を計算します。ただし、これらのアルゴリズムは一般に、リアルタイム レンダリングには計算コストが高すぎるため ( Nvidia RTXなどの専用の HW が存在する場合でも)、通常使用されるラスタライズとは異なるレンダリング アプローチが必要になります。
平面鏡や水面などの平面表面での反射は、2パスレンダリング(1つは視聴者用、もう1つは鏡の中の視界用、通常はステンシルバッファを使用)によって簡単かつ正確にリアルタイムで計算できます。[1]古いビデオゲームの中には、鏡を表す透明な平面の後ろに鏡のシーン全体を置くというトリックを使って1パスレンダリングでこの効果を実現したものもありました。[2]
非平面(曲面)表面での反射は、リアルタイム レンダリングではより困難です。使用される主なアプローチは次のとおりです。
- 環境マッピング(キューブマッピングなど):ビデオゲームなどで広く使用されている技術で、目にはほぼ十分な反射近似を提供しますが、自己反射がなく、環境マップの事前レンダリングが必要です。[3] :174 環境マップを1つだけではなく空間配列にすることで精度を上げることができます。また、メモリと計算要件を犠牲にして、キューブマップの反射をリアルタイムで生成することも可能です。[4]
- スクリーン空間反射 (SSR): ピクセルデータから光線をトレースするより高価な技術。これには、表面法線と深度バッファ (ローカル空間) または位置バッファ (ワールド空間) のデータが必要です。欠点は、レンダリングされたフレームでキャプチャされていないオブジェクトが反射に表示されないことです。その結果、未解決の交差や偽の交差が発生し、反射消失や虚像などのアーティファクトが発生します。SSR は、もともとCryENGINE 3でリアルタイム ローカル反射として導入されました。[5]
反射の種類
- 磨き上げられた
- 磨かれた反射は、鏡やクロム表面のような、乱されていない反射です。
- ぼやけた
- ぼやけた反射とは、素材の表面にある小さなランダムな突起によって反射がぼやけることを意味します。
- メタリック
- ハイライトと反射が反射オブジェクトの色を保持している場合、反射はメタリックです。
- 光沢のある
- この用語は誤用されることがあります。ぼやけの反対の設定になることもあります (たとえば、「光沢」の値が低い場合、反射はぼやけます)。この用語は、「ぼやけた反射」の同義語として使用されることもあります。このコンテキストで使用される「光沢」は、反射が実際にぼやけていることを意味します。
研磨または鏡面反射

鏡は通常、ほぼ 100% 反射します。
金属の反射

通常の(非金属の)物体は、反射される物体の元の色で光と色を反射します。金属の物体は、金属の物体自体の色によって変化した光と色を反射します。
ぼやけた反射

多くの材料は不完全な反射体であり、表面の粗さによって反射光線が散乱するため、反射がさまざまな程度にぼやけます。
光沢のある反射

完全に光沢のある反射で、光源からのハイライトは表示されますが、物体からの明確な反射は表示されません。
反射の例
濡れた床の反射
濡れた床効果 [ 6] [より適切な出典が必要] は、Web 2.0スタイルのページ、特にロゴと組み合わせて使用されるグラフィック 効果のテクニックとして人気があります。この効果は手動で行うことも、効果を自動的に作成するためにインストールできる補助ツールを使用して作成することもできます。標準的なコンピューターの反射 (および第一世代の Webグラフィックで人気のあったJava の水効果) とは異なり、濡れた床効果では反射にグラデーションと傾斜が含まれることが多く、そのため鏡像は濡れた床の上に浮かんでいるか、濡れた床の上に置かれているように見えます。
参照
参考文献
- ^ Kligard, Mark (1999). 「ステンシルバッファによる影と反射の改善」ResearchGate : 7 . 2020年4月25日閲覧。
- ^ Off Camera Secrets、メタルギアソリッド:ツインスネーク - バウンダリーブレイク。2016年11月28日。イベントは4:32に発生します。 2020年4月25日閲覧。
- ^ Fernando, Randima; Kilgard, Mark (2003). The Cg tutorial.プログラマブルリアルタイムグラフィックスの決定版ガイド。Addison-Wesley Professional。ISBN 9780321194961。
- ^ Hongtongsak, Kevin. 「Dynamic Cubemapping」. people.engr.tamu.edu . 2024年3月9日閲覧。
- ^ Kasyan, Nickolay; Schulz, Nicolas; Sousa, Tiago (2011 年 8 月 18 日). 「CryENGINE 3 グラフィックス テクノロジーの秘密」(PDF) 。2022 年11 月 27 日閲覧。
- ^ Nate. 「WetFloor」。2008年5月31日時点のオリジナルよりアーカイブ。
