ToyBox にピクセルレスサンプリングを実装
ToyBox にピクセルレスサンプリングを実装しました。
もちろん一般的なピクセルサンプリング(PS)と、(残念ながら)あまり一般的でないピクセル「レス」サンプリング(PLS)で、どれくらい画質が異なるかを実験できるよう、 PS と PLS の切り替えも比較的簡単にできるようにしてあります。
現在、ToyBox は、 RIB 対応も並行して進めているのですが、PS と PLS の切り替えを RIB でどのように実現するのかは悩ましい所です。
tb.exe では、デフォルトは PLS、ピクセルフィルタを指定したら PS にするようにしようかと考え中です。あえて PLS であることを明示するには PixelFilter "pls" 1 1 等とするのが自然なのかな? 後ろの 1 1 というのはダミーの予定(PLS におけるポイントサンプルの対応サポートを、1x1 ピクセル以上に広げることは取り敢えずは考えない事とします)。
以下、1 ピクセルあたり 4x4 のサンプリングを行った例。サンプリングは層化サンプリングです。
まずは PLS。4x4 でも綺麗。
次はボックスフィルタの PS。ジャギが少し気になります…。
最後はおまけの PS でトライアングルフィルタの例。ジャギが結構気になります。
もちろん一般的なピクセルサンプリング(PS)と、(残念ながら)あまり一般的でないピクセル「レス」サンプリング(PLS)で、どれくらい画質が異なるかを実験できるよう、 PS と PLS の切り替えも比較的簡単にできるようにしてあります。
現在、ToyBox は、 RIB 対応も並行して進めているのですが、PS と PLS の切り替えを RIB でどのように実現するのかは悩ましい所です。
tb.exe では、デフォルトは PLS、ピクセルフィルタを指定したら PS にするようにしようかと考え中です。あえて PLS であることを明示するには PixelFilter "pls" 1 1 等とするのが自然なのかな? 後ろの 1 1 というのはダミーの予定(PLS におけるポイントサンプルの対応サポートを、1x1 ピクセル以上に広げることは取り敢えずは考えない事とします)。
以下、1 ピクセルあたり 4x4 のサンプリングを行った例。サンプリングは層化サンプリングです。
まずは PLS。4x4 でも綺麗。
次はボックスフィルタの PS。ジャギが少し気になります…。
最後はおまけの PS でトライアングルフィルタの例。ジャギが結構気になります。
コメント
コメントを投稿