Gregory Igehy

Dancing at hemisphere coordinate

UnityYAMLMerge の設定

  • 下のパスにある場合
    • C:\Program Files\Unity\Editor\Data\Tools\UnityYAMLMerge.exe

TortoiseGit の設定

  • デスクトップ何もないところで右クリック -> TortoiseSVN -> 設定 -> マージツール -> 高度な設定
  • 追加を押す

f:id:gregory-igehy:20160903203030p:plain


  • 拡張子を .unity と書き込み, 下の記述を追加
  • 同様に .prefab についても同じことを行う
C:\Program Files\Unity\Editor\Data\Tools\UnityYAMLMerge.exe merge -p %base %theirs %mine %merged

f:id:gregory-igehy:20160903202121p:plain
f:id:gregory-igehy:20160903202129p:plain


TortoiseSVN の設定

  • 上と同様

SourceTree の設定

  • ツール -> オプション -> Diff
  • マージツールでカスタムを選択し, Diff コマンドには C:\Program Files\Unity\Editor\Data\Tools\UnityYAMLMerge.exe を入れる
  • 引数には下の記述を入れる
merge -p $BASE $REMOTE $LOCAL $MERGED

f:id:gregory-igehy:20160903202928p:plain

sRGB, Rec709 など

この記事について

  • 調べ中なので, 内容についていろいろ間違っている可能性があります

sRGB

  • 1996 年に マイクロソフトと HP が作ったモニタやプリンタ向けのカラースペース
  • ガンマ 2.2 で近似される
    • 正確には黒に近いところではリニア(ガンマ1.0)で, 非線形のところはガンマ 2.4

Rec601

  • SDTV 向けの規格
  • Transfer Function は下の式

f:id:gregory-igehy:20160904210343p:plain

HDTV

  • 解像度が 1080p, 1080i, 720p の TV

Rec709

f:id:gregory-igehy:20160904210047p:plain

UHDTV

  • 解像度が 4K UHD (2160p) と 8K UHD (4320p) の TV

Rec 2020

  • UHDTV 向けの規格
  • 解像度 : 3840 × 2160 ("4K") and 7680 × 4320 ("8K")
  • アスペクト比 16:9
  • フレームレート : 120p, 119.88p, 100p, 60p, 59.94p, 50p, 30p, 29.97p, 25p, 24p, 23.976p
  • 1 サンプルのビット数 : 10-bits per sample or 12-bits per sample
  • プログレッシブスキャンのみ
  • HDR フォーマットではない
  • HDMI2.0 は Rec2020 のカラースペースをサポートしていて, 下の 2 種類は転送可能
    • 12-bit per sample RGB at a resolution of 2160p and a frame rate of 24/25/30 fps
    • 12-bits per sample 4:2:2/4:2:0 YCbCr at a resolution of 2160p and a frame rate of 50/60 fps.

f:id:gregory-igehy:20160904212320p:plain

  • nonlinear transfer function については Rec. 709 と同じだが, より精度が高い

f:id:gregory-igehy:20160904210647p:plain

Rec 2100

  • HDTV や UHDTV 向けの HDR の規格
  • 解像度 : 1080p, 3840 × 2160 ("4K"), and 7680 × 4320 ("8K")
  • フレームレート : 120p, 119.88p, 100p, 60p, 59.94p, 50p, 30p, 29.97p, 25p, 24p, 23.976p
  • プログレッシブスキャンのみ

scRGB

f:id:gregory-igehy:20160904213044p:plain

f:id:gregory-igehy:20160904212838p:plain
f:id:gregory-igehy:20160904212847p:plain

  • ??? 1.0 で 80nit の白
  • ??? 12.5 で 1000 nit の白

HDMI

HDMI 1.0-1.2a
  • 色深度 : 24bit
  • 165 MHz
HDMI 1.3-1.4a
  • 色深度 : 24bit, 30bit, 36bit, 48bit
  • 340 MHz
  • 1.3 以上で deep-color に対応
  • 1.4 以上で, 1920×1080 resolution at 120 Hz と 4K resolution at 30 Hz
HDMI 2.0-2.0a
  • 24bit, 30bit, 36bit, 48bit
  • 600 MHz
  • Rec2020 の色空間に対応
  • 4K resolution at 60 Hz に対応

Color spaces - REC.709 vs. sRGB のメモ

  • カラーモデル
    • RGB, CMYK といった色を表現する際の座標系の軸を定義するもの
  • カラースペース
    • 上のカラーモデルを数値的にどう解釈するか ? を定義するもの
    • sRGB
  • sRGB のガンマについて
    • sRGB Transfer Function については値による場合わけありの数式で, ガンマ 2.4 とするのが正しい
    • しかし, pow による計算だけで済ませる場合は値が 0.0-0.7 の箇所でより sRGB Transfer Function にフィットする 2.2 を使う

"Displaying HDR Nuts and Bolts" のメモ

  • 対象は NVIdia GPUMaxwellPascal 世代 (GTX960, 980, 1070, 1080, ... )
  • SMPTE2084 (HDR10) をサポートする HDR ディスプレイ
  • 描画バッファは fp16 にしておく
  • HDMI ポートが HDMI 2.0 と HDR のサポートが必要
  • ハイスピード HDMI ケーブルが必要
  • NVidia のコントロールパネルで RGB で 10か12bit を使う必要がある
  • NvAPI の NvAPI_Disp_GetHdrCapabitilites() で接続されているディスプレイがサポートしているかを取得できる

用語

  • EOTF(Electro-Optical Transfer Function)
    • 従来のガンマ係数を規定するだけでなく, より詳細に映像信号のデジタル値に対する輝度変調係数を規定する考え (引用元: HDR はどこへ行くのか? 川上一郎 )
  • OETF(Optical-Electro Transfer Function)
    • 上の EOTF のカメラ側話の場合

Notes of Arnold Standard shader

標準シェーダ

  • エネルギー保存則はフレネルが有効・無効かによって変化する
    • 標準的な場合

f:id:gregory-igehy:20160904214556p:plain

    • 下はさらにバックライティングを含む場合

f:id:gregory-igehy:20160904214605p:plain

  • スペキュラとは別のレイヤーとして「リフレクション」があるか, これはラフネスに応じてぼけたりはしない

f:id:gregory-igehy:20160904214620p:plain

ディフューズ(Diffuse)

  • Oren-Nayar でラフネスに応じて変化
  • バックライト : 薄いものを透けるように見せる機能
  • ディフューズはフレネルの影響を受ける

スペキュラ(Specular)

  • Specular の Color
    • RGB で, Tint 用
    • この色は金属向けに使い, 非金属には使わない
  • Specular の Weight
    • 乗算する重みを 0.0-1.0 で設定可能
  • Specular の Fresnel
    • これをチェックすると, 有効になる
  • Reflectance at Normal
    • 上のフレネルを有効にした際の F(0°)
    • 1 チャンネル

リフレクション(Reflection)

  • 常にくっきりしたリフレクションで, ラフネスの影響を受けない
  • Fresnel (Enable)やReflectance At Normalはスペキュラと同様

屈折(refration)

  • カラー
    • 屈折した結果をにカラーを乗算する
  • Index of Refraction
    • 屈折率
  • Fresnel use IOR
    • IOR を元にフレネルを計算する
    • Krn と Ksn は無視

How to customize standard shader lighting models in Unity