Dev:JA/Ref/Release Notes/3.00/Cycles
元記事:Reference/Release Notes/3.0/Cycles - Blender Developer Wiki
目次
Blender 3.0: Cycles
GPU レンダリング
GPU カーネルとスケジューリングがパフォーマンス改善のために書き直され、現実世界のシーンでのレンダリングが2倍から8倍高速になりました。
NVIDIA
最小要求ハードウェアは同じのままですが、NVIDIA ドライバは470以降になりました。
さらに OptiX 特有の改善もいくつか行われています。
- (リボンではなく)3Dカーブとしてのヘアーのレンダリングが、ネイティブの OptiX カーブ対応を使用し大幅に高速化しました。
- カーネルのコンパイル時間が大幅に縮小、大半のシーンでは1秒未満に。
- ベイクがハードウェアレイトレーシングに対応しました。
AMD
AMD GPU には、HIP プラットフォームを元にした新しいバックエンドがあります。Blender 3.0では、Windows + RDNA と RDNA2 世代のグラフィックカード(Radeon RX 5000、RX 6000 シリーズの GPU)に対応しています。ドライバのバージョンは Radeon Pro 21.Q4以降が必要です。
私たちは Blender 3.1リリース用に、AMD と共同で Linux への対応と、もっと前の世代のグラフィックカードの調査を行っています。
AMD ドライバーでは、HIP は RDNA2 グラフィックカードのみ公式に対応していますが、実際には RDNA でも動作することが判明しています。
Apple
Metal を通した GPU レンダリングの対応は、Blender 3.1に向けて開発中です。
OpenCL
OpenCL レンダリングは未対応になりました。限られた Cycles カーネル実装やドライバのバグ、OpenCL スタンダードの失速などの要因により、保守が困難になりすぎていたためです。
私たちはハードウェアベンダーと協力し、他の API を使用した GPU レンダリング対応の復活を進めています。
ビューポートのインタラクティブ性
ビューポートレンダリングの応答性が新しいスケジューリングと表示アルゴリズムにより、大幅に向上しました。
(訳注:エンベッドがうまくいかなかったのでリンク先でご覧ください。デモは Statix 氏 / redhoot 氏作)
サンプリング
サンプル数を設定のするわりに Noise Threshold(ノイズしきい値)を設定し、デノイザーが残りのノイズを除去できるようになるまで Cycles に画像を適応的にリファインさせるのが、現在推奨されるワークフローになりました。デフォルトのサンプリング設定とユーザーインターフェイスはこのワークフローに合うよう調整され、必須ではなくなりました。
もっと具体的に言えば、
- サンプリングのユーザーインターフェイスとデフォルト設定が見直されました。
- Adaptive Sampling(適応サンプリング)が改善。Noise Threshold(ノイズしきい値)の挙動が変わり、旧バージョンに匹敵する結果を得るには、手動による調整が必要になりました。マニュアルを参照してください。
- 時間ベースのレンダリングのリミット。マニュアルを参照してください。
- ビューポートとレンダーのサンプリングのプリセットを分離しました。
Scrambling Distance(スクランブリングディスタンス)
新しく Scrambling Distance(スクランブリングディスタンス)設定が、Advanced(詳細)パネルに追加されました。これはピクセル間の相関関係の量をコントロールするのに使用され、0(相関関係大、非推奨)から、1(相関関係なし)の範囲を取り、GPU レンダリング時のレンダリング時間を減らすことができます。
この機能には、自動的に適切な値を推定するための Automatic(自動)設定があります。スクランブリングディスタンスを自動的に調整してくれる、この設定の使用を推奨します。マニュアルを参照してください。(366262bef542、82cf25dfbfad)
デノイズ
OpenImageDenoise がバージョン1.4にアップグレードされ、細部の表現が向上しました。新しく追加されたプリフィルターオプションは、補助のアルベドパスとノーマルパスをコントロールできます。(c5e5ac4)
ボリュームでの補助のアルベドとノーマルパスが改善、ボリューム細部の維持が向上し、低周波ノイズを削減します。(d18a3b7)
タイルとメモリ消費量
デフォルトでレンダーが徐々にリファインするようになり、フルレンダーが素早くプレビューできるようになりました。しかし、多数のレンダーパスのある高解像度の画像のレンダリングでは、メモリ消費量が大幅に増加してしまいます。 そのため、高解像度のレンダリングでは自動的に大きなタイルに分割し、各タイルが完了したらディスクにキャッシュします。
従来のタイルサイズの調整は CPU と GPU のパフォーマンスを最大にするために重要でしたが、現在はほぼ自動化されています。まだ次のような二つのシチュエーションでは、デフォルトからタイルサイズを減らすことが役に立つことがあります。
- シーンとレンダー結果の両方をメモリに収めることができない場合。タイルサイズを減らすことで、シーン用に利用可能なメモリを増やすことができます。
- ある小さなオブジェクトのレンダリングが他の物に比べて非常に遅い場合(例えば、ヘアーの透過など)。小さいタイルでレンダリングすることで GPU を稼働し続けられます。
Shadow Catcher(シャドウキャッチャー)
シャドウキャッチャーが書き直されました。以下のような新機能があります。
- 間接照明と環境照明に対応。より正確なコンポジティングが可能に。
- 含まれているライトと見なすかそうでないか、つまり現実の物か合成するオブジェクトかを決めるオプション。
デフォルトでは、シャドウキャッチャーは Combined(統合)パスのアルファチャンネルにのみ影響します。しかし色付きの間接光源と放射も処理したい場合は、新しい Shadow Catcher(シャドウキャッチャー)パスを使用してください。背景はこのシャドウキャッチャーパスと乗算し、その後に統合パスとアルファオーバーで合成します。
Shadow Terminator(影の終端)
ローポリのゲームモデルでよく起こる、影のアーティファクトを少なくする新しいオプションです。法線により指定されたスムーズサーフェスの場所での影と合わせるため、フラットなサーフェスからレイをずらします。
(9c6a382)
Geometry Offset(形状オフセット)オプションは以下のような動作をします。
- 0: 無効
- 0.001: 終端の法線が光の方向を向き、形状は向いていない三角形のみ影響を受けます。
- 0.1(デフォルト): かする角度の三角形のみ影響を受け、エフェクトがフェードアウトします
- 1: すべての三角形が影響を受けます
一般的に、1~3ぐらいのサブディビジョンレベルを使用すれば、アーティファクトは以前より早く取り除くことができます。
サブサーフェススキャッタリング
サブサーフェススキャッタリングの Random Walk(ランダムウォーク)が異方性(Anisotropy)と屈折率(IOR)に対応しました。リアルな皮膚での異方性は0.8ぐらいです。(7811c11)
その他の機能
- カメラレイから見えるようにするライトオプション。
- 新しい Position(位置)レンダーパス
- ボリュームサンプリング品質が CPU と GPU レンダリングで同じに。
- ベイクがデノイズと適応サンプリングに対応。
Baking support for denoising and adaptive sampling
- ライトの範囲制限がより細かく制御できるようよりノイズのない光を維持するよう変更されました。
Light clamping was modified to be more fine grained, preserving more non-noisy light.
- Open Shading Language が UI ラベルとチェックボックス用メタデータに対応。下記のように指定します。(e6bbbd9)
[[ string label = "UI Label" ]]
[[ string widget = "checkBox" ]]
[[ string widget = "boolean" ]]
削除された機能と互換性
- Branched path tracing(分岐パストレーシング)が削除されました。自動的に必要な場所へサンプル数を多く割り当てるには、Adaptive Sampling(適応サンプリング)の使用をお勧めします。
- Cubic(三次式)と Gaussian(ガウシアン)サブサーフェススキャッタリング。物理ベースの Random Walk(ランダムウォーク)と Christensen-Burley は残っています。
- CMJ サンプリングパターンが削除されました。残っているのは Sobol と PMJ のみです。
- NLM デノイザーが削除されました。最終画像には代わりに OpenImageDenoise の使用をお勧めします。