なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ

書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

2022/02/06

宝石の屈折率から Specular の値を求める

カテゴリー:光学

こんばんは!わたしだよ!
ここ数日、というか昨日と今日ですけども、ひたすら Blender で図形作っていて、そのときに物質の屈折率 (IOR, Index of Refraction Values) から、それを元に Specular の値を求める必要がありました。
何の話だ、という感じですが、まぁ要するにリアルな宝石とかを作る際のシェーダーの設定に使う値です。
ということで、以下は IOR から Specular を求めるための数式です。

これを元に、一般的な宝石の値を当てはめていくと、下のテーブルのようになります。
※有効桁数は小数第 3 位まで

宝石IORSpecular
アメジスト - Amethyst1.5440.572
琥珀 - Amber1.5460.575
アクアマリン - Aquamarine1.5770.627
エメラルド - Emerald1.5610.600
ラピスラズリ - Lapis Lazuli1.6100.683
トパーズ - Topaz1.6200.700
ルビー - Ruby, サファイヤ - Sapphire, ガーネット - Garnet1.7600.948
ダイヤモンド - Diamond2.4192.153

これをシェーダーに投げつけると、下のような結構リアルな宝石ができます。

といった感じで、今日のメモでした。ではではまた明日!