2015年11月17日火曜日

Unity3D RenderTextureから, RenderTargetIdentifierを作成

renderTexture = new RenderTexture(
    width,
    height,
    24,
    RenderTextureFormat.Default,
    RenderTextureReadWrite.Default);

CommandBuffer commandBuffer = new CommandBuffer();

int screenCopyID1 = Shader.PropertyToID("_Temp1");
commandBuffer.GetTemporaryRT(
    screenCopyID1,
    width, height, 0,
    FilterMode.Bilinear);

RenderTargetIdentifier renderTargetId = new RenderTargetIdentifier(renderTexture);
commandBuffer.Blit(renderTargetId, screenCopyID1);
てな感じで, コマンドバッファに組み込んでいける.

2015年10月30日金曜日

Low-Discrepancy Sampling

Efficient Multidimensional Sampling
がレイトレース用のサンプリングとして, いい感じ.
PBRT本では, 計算の仕方は異なるが同じものなはず.

2015年10月18日日曜日

Unity3D 16bit ディザリング

テクスチャリソースのインポート処理時に,
ディザリング処理して16ビットに変換する.
Contrast Aware Halftoningを実装.

https://github.com/taqu/Dither


2015年9月14日月曜日

Bounding Volume Hierarchy 01

既存のコードはQBVHだが, すでに古いらしいので, 古典から順番に作成中.

2015年9月5日土曜日

チューリング先生のマラソン記録

チューリング先生のマラソンベストタイムは, 2時間46分だそうです. 1940年前後のオリンピックマラソン金メダリストの記録は, 2時間30分前後でした. 世のプログラマは斯くあるべきと思う. 私は現在のシューズや舗装路の進化がありながら, 約30分離されている.

2015年9月3日木曜日

球面調和関数で近似

これは球面調和関数について質問されて,
上手く説明できなかったため,
自分の理解を深めるために書かれたものです.
物理のかぎしっぽ

の丸写しともいいます.
丸写しでも実際に書くと理解が深まるということは, 納得していただけるはずです.
ボトムアップに見ていきます.

2015年8月19日水曜日

Microflake SGGX for Mitsuba Renderer

https://github.com/taqu/Microflake-SGGX

今すぐリアルタイムレンダリングに応用できるか?
と問われると思いつかない.
十分小さな誤差で線形補間ができるという性質は,
リアルタイムレンダリングへの応用を期待させる.