fullseye

grating_rgb — OPTICS appearance op

使い方

法線マップ + 光源 + 視線 → 回折による虹色 (H, W, 3) の線形 sRGB。

CD/DVD の記録トラックは等間隔の溝 = 反射型回折格子である。溝に直交する方向の 「入射と出射の sin の差」が波長を選ぶので、面の向きが変わると色が変わる。

normals: (H, W, 3) 法線マップ(長さ 0 = 背景 → 0 を返す)。 light / view: 面から光源 / 視点への方向(3,)。 tangent: 溝の方向(3,)。法線に射影して面内成分を使う。 pitch_um: 溝間隔 [µm] (CD 1.6 / DVD 0.74 / BD 0.32)。 orders: 使う回折次数(内部で ±両方を使う — 対称な溝は両側へ回折する)。 strength: 全体の強さ。 width_nm: 1 本の回折線に与える波長方向の幅 [nm] (有限のスポットサイズ・帯域の効果)。

返り値: (H, W, 3) 線形 sRGB(負値は残す = 色域外がそのまま見える)。

ファミリ共通の入力契約(fail-closed)

optics の全 op は入力を検証してから計算する(黙って通さない):

詳しい使い方ガイド

背景知識ガイド(この op の手前にある物理・規約)

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(rgbimage を入力に取れる)

clearcoat_shade · wetness · defocus_blur · diffraction_blur · sensor_capture

同カテゴリ(appearance)

cie_xyz_from_wavelength · spectrum_to_srgb · thin_film_reflectance · grating_wavelengths · thin_film_rgb · ward_anisotropic


Provenance: matappear.py — OPTICS operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.