シェーダにおけるカラーランプのパフォーマンス
カテゴリ:blender
カラーランプのシェーダコード
カラーランプのシェーダコードは source/blender/gpu/shaders/common/gpu_shader_common_color_ramp.glsl にある。
シェーダのカラーランプは 256 色の1Dテクスチャで表現され、テクスチャをサンプルすることで色を得ている。ソースでの解像度は 257 (const float sampler_resolution = 257.0;)だが、これは色が混ざるのを防ぐオフセットが追加されているため。
パフォーマンス
数値がシェーダにハードコードされるカラーミックスの方がパフォーマンスがよい。しかし他の処理(レイトレイースなど)の方がはるかに重く、カラーランプのパフォーマンスが問題になることはない。
カラーランプは、色や位置を外部から編集するためにドライバーが必要になることのほうが問題だ。