元記事(Ton Roosendaal氏)
レンダリングエンジン
OSA(オーバーサンプリング)の変更
長い間、Blenderのこの部分はゴミを集めていました…古い最適化方法と小さな誤りがあったサブピクセルレンダリングコードが原因です。
作り変えられたコアのアンチエリアス方法に含まれる変更点は以下の通りです。
- 完全なチェックの完了と100%正確なサンプリングのための修正
- レンダリングサンプルを切り詰める古い最適化システムとの分割
- それぞれのサブピクセルの完全なサンプリング方法の実装
- 最適化を回避するレイトレースコードの改造を削除
現在、それぞれのサブピクセル(OSA 8で8つのサンプル)が完全にレンダリングされるようになりました。これは確実に基本(スキャンライン)のレンダリングシステムを遅くします。しかし、より複雑なシーン、特にたくさんの小さなポリゴンがあったり、レイトレースが適用されているとレンダリングスピードは上がります。
下記のサンプルでわかるとおり、画像の品質の改善は明らかですが、訓練された目や拡大鏡が必要になる場合もあるかもしれません。
また、シェーダのアンチエリアスとTextureのアンチエリアスについても解決されたことを付け加えておきます。
現在のGaussフィルターの実装も非常に良好で、Unified renderでも動作します(いままでGaussは動作しませんでした)。
ユーザインタフェイス下位互換性のために、古い最適化OSAをレイトレースを使用しないSceneでデフォルトとしています。強制的にフルサンプリングにするには、[F5]メニューのMaterialパネルの"Full Osa"オプションを設定してください。これはMaterial毎に働くので、適用したいときに確実に設定することができます。
Materialにレイトレースを使用する時は最適化OSAが満足に働かないので、常に"Full Osa"を使用して下さい。
TransparentレンダラとUnifiedレンダラの両方が旧スピードに戻りました。もし遅いレンダリングでも綺麗なスペキュラ・シェーディング・テクスチャのAAを好むなら、レイトレースMaterialの使用や、"full Osa"オプションを設定して下さい。
2.33レンダラ |
新しいレンダラ |
(@ndy氏提供によるcar.blendファイルより)
サンプリングエラー
|
スペキュラのエリアシング
|
最適化によるエラー
|
四角/三角形レンダリングエラー
|
その他のサンプル(クリックすると大きい画像を見ることができます)
2.33レンダラ |
新レンダラ、レイトレースのサンプリングが改善 |
2.33レンダラ |
新レンダラ(スペキュラに注目) |
2.33レンダラ |
新レンダラ (テクスチャ・トーンシェーディングのフィルタリング) |