3DCGのマテリアルによくあるIORって何？（ざっくり）

# 要約
**IORは屈折率(Index of Refraction)のこと。
1から値が離れるほど、光が反射しやすくなる。**

もう少し詳しくというと、

**IORは屈折率という物体が持つ値であり、物体の材質によって異なる値をとる。
真空のIORの 1.0 を基準として、材質のIORを高い値にするほど、物体が全体的に光を反射しやすくなる。**

3DCG的に言い換えれば、

**IORは屈折率というマテリアルごとに設定される値であり、その値は現実で測定された値に従う。PBRに欠かせない要素。
基準となる真空を 1.0 としてマテリアルの種類ごとに決まった値のIORは、そのマテリアルに光が当たった時のふるまい(鏡面反射など)をコントロールする。**











# 初めに
**IORの説明は要約で終わりです。** 以下は調べる上で生じた疑問とモヤモヤを解決する内容です。
3DCGアーティスト向けに、分かりやすさ重視のざっくりな説明をします。
間違いを含んでいる可能性が十分にあります。

必要な用語
・拡散反射：光が物質の中に入ってから出てくる光。物質の色を示す。
・鏡面反射：光が物質の表面で反射した光。光源や光を反射した周りの物質の色や形を示す。













# もっと知りたい

IORとは屈折率(Index of Refraction)のこと。
(材質の違う)物質の境界での光の屈折(反射)する様子を再現するために、屈折率という値が3DCGのマテリアルに必要。




### 3DCGにおけるIORの変化とビジュアルの変化 
![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/362049/4b6671d2-5d93-cfbb-bcc3-e8a8085e5ae9.png)
[Autodesk AREAJapan 鏡面反射光 反射レベルを素材の値で管理](https://area.autodesk.jp/column/tutorial/3ds_max_kitchen_stadium/2_hansyalevel/) より引用

上記の壺の画像を見ると、IORを高くすればするほど鏡面反射光が強くなっているように見える。
ここで注意したいのが、**全体的に鏡面反射率が上がっている**ということ。画像だと壺の端の鏡面反射光だけが強くなっているように見えるが、実際には正面の鏡面反射光も強くなっている。
正面に鏡面反射して強く見えるオブジェクトや光源を置くことが少ないため、端だけが鏡面反射しているように見えることが多い。

一方、表面をざらざらにする(ラフネスの値を上げる)と鏡面反射光は弱くなる。
正確には弱くなるというより、ざらざらになったため、様々な方向の光を拾うことで光がはっきりしなくなるという感じ。
[『THE COMPREHENSIVE PBR GUIDE Volume 1: The Theory of PBR by Allegorithmic』私家訳版](https://www.slideshare.net/nyaakobayashi/pbr-guide-vol1jp) page7 参照



### IORによる鏡面反射率のグラフ

縦軸を鏡面反射率、横軸をオブジェクト法線(面の向き)とカメラ視線の成す角度(0~90 = 0~π/2)としたときの、IORによる鏡面反射率のグラフは下記の画像のようになる(計算式は後述)
![asdfasf.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/362049/df38e477-2f1e-10be-571a-58554a7fbeda.jpeg)
このグラフを見ると、IORによって、全体的に鏡面反射光が強くなっているのが分かる。
また、物質の表面が粗くなると先述の通り鏡面反射は弱くなり、鏡面反射率が1になることはなくなる(同じIORの物質でも表面が粗くなると、その鏡面反射率は上記のグラフが全体的に下がったものになるイメージ)











# もっとx2知りたい
マテリアルにより、IORの値は違う。
金属と非金属では顕著な鏡面反射率の差がある。

 
### 金属と非金属
物質によってIORは異なる。
また、IORと鏡面反射率の関係は金属と非金属で異なる。
宝石を除き、入射角0での反射率はおおむね、金属で70~100%、非金属では2~5%になる。
つまり、[IOR一覧](https://pixelandpoly.com/ior.html)のアルミニウムと水のIORが同じぐらいの1.3ではあるが、金属と非金属では鏡面反射率は全く異なるということだ。
下記画像の赤い線はアルミニウム(金属)の反射率。
![fresnel-al-plot.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/362049/c75a1ba7-18b4-cfb8-c9c4-faa4f054af25.jpeg)
下記画像の赤い線は典型的な誘導体(非金属_IOR=1.5)の反射率。
![fresnel-plot.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/362049/973838b5-a78b-35f4-50bf-4111ab164089.jpeg)
[Fresnel Reflectance](http://www.graphics.cornell.edu/~westin/misc/fresnel.html)より引用

また、90度近い角度のことをグレージング角といい、この角度付近で非常に高い鏡面反射率を示すことをフレネル効果という。
このフレネル効果は、物質を金属と非金属で分けたときに非金属の時に用いられることが多い。その理由は単純で、金属は非金属と同じようにグレージング角で反射率が上がるが、もともと金属はどの入射角で全体的に反射率が高いので入射角による反射率の差が小さい。そのため、金属ではグレージング角における(非金属で見られる)**急激**な反射率の上昇がないのでフレネル効果という言葉が用いられることは少ない。(効果がないのではなく、その効果の表れやすさが違うというだけ)

また、金属の鏡面反射光には色が付く。下記リンク参照。
[PBRテクスチャについて](http://tkmkrocket.net/tech/2019/11/18/pbr%E3%83%86%E3%82%AF%E3%82%B9%E3%83%81%E3%83%A3%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/)
[『THE COMPREHENSIVE PBR GUIDE Volume 1: The Theory of PBR by Allegorithmic』私家訳版](https://www.slideshare.net/nyaakobayashi/pbr-guide-vol1jp) page8 参照










# もっとx3知りたい

物理でいう反射光は、3DCGでいう鏡面反射光のこと。
屈折率(IOR)と反射率には関係式がある。




### 屈折と反射の物理的な関係


物理的には、下記の画像のように光は物質の境界で常に屈折光と反射光が生じる。（例外、全反射）
![400px-Reflection_p_and_s.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/362049/470038c6-5837-9ce2-e2cd-800e3ddea7d3.png)
[ウィキペディア フレネルの式](https://ja.wikipedia.org/wiki/%E3%83%95%E3%83%AC%E3%83%8D%E3%83%AB%E3%81%AE%E5%BC%8F) より引用

光が物質にあたった時に、入射角によって光の一部は屈折し物質の内部に入り、それ以外は物質には入らず反射する。
また、エネルギー保存の法則により、入射光 = 屈折光 + 反射光 となる。
これを3DCGで言い換えると、
光がオブジェクトにあたった時に、入射角によってオブジェクトの拡散反射光と鏡面反射光の強さが決まる。
また、オブジェクトにあたった光の強さ = 拡散反射光の強さ + 鏡面反射光の強さ となる。
(屈折して内部に入った光はすべて出てくるものとする。)




### IORと鏡面反射の関係式

反射率は屈折率から求められる。入射角（上記画像のα）が 0 の場合、下記の画像のようになる。
Iは反射率、Nが屈折率(IOR)、N1は物質のIOR、N0はその物質に接触している物質のIOR。
![s9-3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/362049/2ac26d1c-ead5-ee64-8af4-665578eaa60e.png)
N1の物質に接触している物質を真空と仮定するとN0は1.0なり、N1のIORだけから鏡面反射率を求められる。
※IORは真空を基準としているため、真空のIORは1.0
入射角がある場合は、下記の画像のように設定したとき、
![9-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/362049/69888d61-17c4-5d94-5b10-98cffcd71d72.png)
P偏光反射率（Irp)、S偏光反射率（Irs）は下記の画像のようになる。
※p偏光、s偏光については後述。どちらも反射率を示している。
![s9-4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/362049/d3bc895d-3ae5-2956-e640-926bee661b30.png)
n1に物質のIOR、n0に1.0(真空と仮定)を入れると、物質のIORと入射角と屈折角から鏡面反射率を求められる。
また、屈折率Nと入射角Θ0と屈折角Θtには下記画像のような関係がある。
![sdfae.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/362049/c2cda08b-453b-e365-24df-f055e136df29.png)
上記の式を反射率の式に代入すると、**IORと入射角だけから鏡面反射率を求められる**ことになる。
また、上記画像の(9.4)式と(9.5)式を計算してみると、どちらも入射角が大きくなると反射率が大きくなることが分かる。
よって、先述した IORによる鏡面反射率のグラフ(上記の青緑赤のグラフ)ができる。

※4つの画像すべて [東所沢 2-31-12 HOMEPAGE ９章：反射と屈折の法則](http://skomo.o.oo7.jp/f17/hp17_9.htm) より引用


:::note warn
上記の計算式は非金属には適用できます?が、金属には適用できません。金属にも適用できるように式を拡張できるようですが、私は理解できませんでした...
・金属 複素屈折率   などで調べてみてください。
:::
















# もっとx4知りたい
光には偏光がある。
屈折について。

### 光は横波_p偏光とs偏光
光には波の性質があるが、まず波には縦波と横波と区別できるものがある。下記の**縦波、横波**の項を参照。
[それゆけ迷走光学　偏光フィルタと円偏光フィルタ](http://www7a.biglobe.ne.jp/~tomoyu/column/co033.htm)
**光は横波**（光の進行方向に垂直なあらゆる方向に振動している）で、水平面と垂直か平行かで二分して扱う。
反射率の計算も偏光ごとに行い、垂直な場合はP偏光反射率（Irp)、平行な場合はS偏光反射率（Irs）となる。


偏光板を使うと二つの反射率を確認できる。
偏光板を通すと偏光反射率の低い光だけを通して、より物質を鮮明に見ることができる。
[MeCan 偏光板とは](https://www.mecan.co.jp/Optical-Film/Polarizer/About_Polarizer.html)


つまり、水面で例をとると、水面で鏡面反射しやすいのはs偏光。
水面を通り、水底で拡散反射するのはp偏光とs偏光を両方含む光。
この時、p偏光を通す偏光板を使えば、水底が見やすくなる。
[偏光の反射](http://www.gen.t-kougei.ac.jp/physics/Virtual-LW/11/01/01.html)
(下記の画像のBrewster’s angleでp偏光が反射率が0に近づくので、2つの偏光を比較した結果、s偏光が水面で鏡面反射しやすいといえる)
![main-qimg-8d6e61941587781b5e018d6c56e5a232.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/362049/4a36caaa-7290-377f-6d6a-703203f54599.jpeg)
[なぜ光はp偏光とs偏光によって反射率が違うのでしょうか？](https://jp.quora.com/%E3%81%AA%E3%81%9C%E5%85%89%E3%81%AFp%E5%81%8F%E5%85%89%E3%81%A8s%E5%81%8F%E5%85%89%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E5%8F%8D%E5%B0%84%E7%8E%87%E3%81%8C%E9%81%95%E3%81%86%E3%81%AE%E3%81%A7%E3%81%97%E3%82%87)より引用


 
ちなみにp偏光とs偏光によって反射率が違うのは、p偏光とs偏光で取り扱う物理量が異なるため、違う特性を示すから。
また、s偏光は入射角に対して単調に反射率が上がるが、p偏光はブリュースター角で反射率が0になる、単調でない増減する反射率を示す






### 光は物質の境界で屈折する

光の屈折が起こる原因について物理的に考える。
**光が屈折するのは物質のによって光の進める速さ**が違うから。
これをイメージするためには、
"何も物質がない真空"と"水分子で満たされている水"を、"空いている道"と"渋滞した道"とし、どっちのほうが車（光）が通りやすいか、ということを考えるといい。
また、光の進める速さが違うと屈折するのは、下記のリンクの**デモ行進での例え話**の項がとってもわかりやすい。
[シーシーエス株式会社 光の屈折](https://www.ccs-inc.co.jp/guide/column/light_color/vol23.html#:~:text=%E5%85%89%E3%81%AE%E5%B1%88%E6%8A%98%E3%81%AB%E3%81%8A%E3%81%84%E3%81%A6%E3%81%AF,%E3%81%A7%E3%81%82%E3%82%8B%E3%81%A8%E8%A8%80%E3%81%88%E3%81%BE%E3%81%99%E3%80%82)
無理やり説明するなら、**光の進める速さが違うと屈折するのは、線の端とその反対側で物質の境界を通る時に時間差が出るから。**

# 参考リンク
[材料の屈折率一覧表](https://a4jp.com/material-ior-list/)
[偏光による反射率・透過率とフレネルの式の導出](https://whyitsso.net/physics/electromagnetism/app_6.html)
[オプトメカエンジニアリング 光学のいろは](http://www4.tokai.or.jp/optomecha_engin/kotae.html#%E7%89%A9%E8%B3%AA%E8%A1%A8%E9%9D%A2%E3%81%A7%E3%81%AE%E5%8F%8D%E5%B0%84%E7%8E%87%E3%81%AF%E3%81%84%E3%81%8F%E3%81%A4%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F)
[金属の光沢と色｜金属反射と金属光沢](https://optica.cocolog-nifty.com/blog/2011/11/post-97a0.html)