2016年4月10日日曜日

Unity3DのTime.time

float endTime = Time.time + duration;
while(Time.time<endTime);
というコードをよく見るので調べてみた.
もちろん私はこのようなコードは書かない.

2016年3月11日金曜日

ACES Filmic Tone Mapping Curve の近似の近似

ACES Filmic Tone Mapping Curve(Krzysztof Narkowicz)
float3 ACESFilm(float3 x)
{
    float a = 2.51f;
    float b = 0.03f;
    float c = 2.43f;
    float d = 0.59f;
    float e = 0.14f;
    return saturate((x*(a*x+b))/(x*(c*x+d)+e));
}
の近似. 定義域を[0 2]に狭める.
//domain x: [0 2]
float3 ACESFilmApprox(float3 x)
{
    return -0.053173 + x*(2.170622 + x*(-2.132296 + x*(0.996822 + x*-0.176583)));
}

2016年3月10日木曜日

Ray Tracing in One Weekend

Ray Tracing in One Weekend,
Ray Tracing: the Next Week,
がKindle向けに出ている.

Realistic Ray Tracing の共著者の一人,
Peter Shirley さんの本であってるかな?

2016年2月19日金曜日

POSTD Memo

http://postd.cc/are-haskell-engineers-second-rate/

2016年2月12日金曜日

Xorshift*, Xorshift+

出力が64ビット.

Xorshiftの出力が32, 16, 8ビットで速度比較したサイトを見た記憶があるけれど,
ちょっと検索しただけじゃ見つからないな.
まあ, 演算数は変わらないし, 追加で内部状態のコピーぐらいだから, そう速くはならないよね.
デメリットの方が大きいぐらい.

XorshiftがGPLとかいう都市伝説が.
開発者のソースコードがあるなら, それはGPLかもしれない.
論文内のコードにGPLが適用されるのかね.
GPL的には, 誰が書いても同じになってしまうような短いコードには,
ライセンス適用すべきでないといってる. そらそうよ.

Dieharder
乱数のテストにどうぞ.

2016年2月3日水曜日

UnityEngine.UI.Imageを継承した, 任意Polygon描画クラス

適当に作る.
Github


一応はWYSIWYGと言えるかも.
要望次第で, Polygon Collider 2Dの編集インターフェイスと同じにするかもしれません.

タイルベースのレンダリングプロセスには, 扇形は細長い三角形を生成しがちなので良くない.
足りなければ考える.