元記事:Cycles - Blender Developer Documentation
テクスチャキャッシュは、多数の画像テクスチャのあるシーンでのメモリ使用量と起動時間を大幅に削減します。これはレンダリングの小さなパフォーマンスインパクトと、ディクススペースの使用量と引き換えになります。(PR#154913、PR#157244)
使用するには、Render(レンダー)プロパティの、Performance → Texture Cache と Auto Generate(パフォーマンス→テクスチャキャッシュと自動生成)を有効にします。すべての画像で、対応する tx ファイルが、画像と同じフォルダー内の blender_tx/ フォルダー内に作成されます。この tx ファイルは読み込み用にレンダリングに必要なタイル数と解像度に最適化されています。画像ファイルを変更した時は自動的に更新されます。
メモリの節約とパフォーマンスはシーンに大きく依存します。特に画像テクスチャメモリがジオメトリに比べてどれだけ使用されているか、によります。下記の数字は多数の画像を使用するベンチマークシーンの物です。
Performance → Memory(パフォーマンス→メモリ)にある Tile Size(タイルサイズ)で、さらにメモリ使用量の削減の調整ができます。各レンダータイルで要求される画像テクスチャのみ読み込まれます。
Texture Cache(テクスチャキャッシュ)パネルには、tx ファイルを手動で生成するボタンがあります。デフォルトの保存場所はプリファレンスにて、画像ファイルとの相対パス、または絶対パスで変更できます。
他のレンダラーと OpenImageIO の maketx で生成された標準の tx ファイルも認識できますが、読み込みがあまり効率的ではありません。Cycles ネイティブの tx ファイルをコマンドラインから生成するために、下記のコマンドが提供されています。
# blend ファイル内の全画像の tx ファイルを生成
blender scene.blend --command maketx
# 指定の画像ファイルのみ tx ファイルを生成
# 色空間は自動的に決定できないので指定が必要
blender --command maketx image.png --colorspace sRGB
Simplify(単純化)パネル内に、既存の Texture Size Limit(テクスチャサイズ上限)に加え、新しく Texture Resolution(テクスチャ解像度)の割合設定が追加されました。
これは特にテクスチャキャッシュで複雑なシーンをビューポートレンダリングするのに便利です。テクスチャを例えば50%や25%の解像度にすると、読み込み時間が短縮され、インタラクティブレンダリングでテクスチャが完全にメモリに収まるかどうかを確認する手助けになります。
テクスチャキャッシュは、従来 OpenImageIO を使用していた Open Shading Language でも利用可能です。つまり、パフォーマンスが改善され、GPU に対応されるということです。texture() には先進的なオプションがいくつか増えますが、gettextureinfo() はもう利用できません。
Raycast(レイキャスト)ノードが、レイ交差場所の属性へのアクセスを提供するように。(PR#157344).
ノードエディターのサイドバーの、Sample Attributes(属性サンプル)パネルに属性を追加すると、このノードに新しい属性ソケットが現れます。属性名を入力し、新しい出力ソケットをリンクすれば値を使用できます。交差しなかった場合、属性の出力は0になります。
現在 Cycles のみ対応しており、EEVEE 使用時は、このノードに警告が表示され、出力が0になります。
Subsurface BSDF(サブサーフェス BSDF)と、Principled BSDF(プリンシプルBSDF)の Subsurface(サブサーフェス)成分が、負の異方性に対応しました。(PR#156355)

Random Walk(ランダムウォーク)の範囲のスケーリング (PR#133848) と、アルベドマッピングの異方性 (PR#156355) が、他のレンダラーとマッチするよう調整されました。互換性の維持のため、古いファイルは自動的に Random Walk (Legacy)(ランダムウォーク (旧))を使用するよう変換されます。