これは、遅延シェーディングを使用するゲームの透明性に対するかなり一般的なアプローチです。遅延シェーディングでは、適切な透明度はまったく機能しません。1つのサーフェスのデータ(深さ、法線ベクトル、色など)のみが各ピクセルに保存でき、適切な透明度には、ピクセルでオーバーラップする複数のサーフェスが含まれるため、それぞれが独立している必要があります点灯。
ゲームエンジンがこれに対処する方法はいくつかあります。
- 透明なサーフェスにはフォワードシェーディング(おそらく照明モデルを減らして)を使用し、不透明なサーフェスにはディファードシェーディングを使用します。透明な表面は、背面から前面への並べ替えで個別のパスで描画する必要があります。
- ディザリングを使用します。ディザリングはより一般的にスティップリングまたはスクリーンドア透明度として知られていますが、ピクセルごとに1つのサーフェスのみを提供するため、遅延シェーディングで機能します。これはLODトランジションで特にうまく機能します。これは通常、固定時間で終了し、点描が見える時間を制限するためです。たとえば、建物のガラス窓にはあまり適していません。
- 点描を使用することもできますが、その後、点描されたピクセルを再結合するポストプロセスブラーを適用し、適切な透明度の近似値を与えます。Volitionはこれを「推論された照明」という名前で、Saints Row the Third(およびおそらく他のゲームの一部)で行います。これは非常にきれいに見えますが、ポストプロセスブラーは高価です。
- そしてもちろん、順序に依存しない透明化メソッドはすべてありますが、それらを使用するゲームは知りません。これまでのところ、これらは技術デモ用です。
また、これらのアプローチを組み合わせて使用することもできます。たとえば、ガラスウィンドウのフォワードシェーディングとLODトランジションの点描です。
一部のゲームでは、ソフトシャドウに点描を使用していることにも注意してください。これはパフォーマンスのトレードオフです。より良いシャドウは、ピクセルシェーダーでより多くのテクスチャサンプルを必要としますが、これには時間がかかりますが、使用するサンプルを少なくし、それらの位置をランダムにオフセットすることで、見た目の良い結果を得ることができます。ランダムオフセットは点描効果を生み出します。