バーチャルネット右翼きも19歳
CGを勉強してる男の子です。2年を越えるお芋の国での防人を経てようやく東亜に帰国出来きました。座右の銘は「来世に期待age」です。ちょっとシャイで人間の屑の気がありますがみんな仲良くしてあげてください。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


DXT1 ライトマップ を OpenGL で可視化してみる・続続
> とりあえず実験を始めるために実装すること
> - フォトントレースして、各ライトマップテクセルでkNNしてライトマップを書き出す
> - BC1に圧縮して、OpenGLでライトマップで可視化する

とりあえずここまでは出来ました。
id software の Real-Time DXT Compression は RGBA8 を想定してて、いつもアルファの1バイト分ずれるというのにハマってしまいましたが寝る前に資料を再読しててそれに気づいて修正。

DXT1 は base color(565)x2, 2bitのルックアップ x 16 の 8 byte のデータがそのままずらずらと並んでいるだけです。



GLuint lightmapidx[5][2];
int sizeBlock = 32;
unsigned char* lightmapData = new unsigned char[sizeBlock*sizeBlock*4];

int outputBytes;
// Reference : Real Time DXT Compression
// http://cache-www.intel.com/cd/00/00/32/43/324337_324337.pdf

CompressImageDXT1( lightmapData, lightmapDXT1, sizeBlock, sizeBlock, outputBytes);

assert(outputBytes == sizeBlock*sizeBlock*3/6);

glGenTextures(1, &lightmapidx[0][1]);
glBindTexture(GL_TEXTURE_2D, lightmapidx[0][1]);
glCompressedTexImage2D(GL_TEXTURE_2D, 0, GL_COMPRESSED_RGB_S3TC_DXT1_EXT,
   sizeBlock, sizeBlock, 0, outputBytes, lightmapDXT1);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);



rawvsdxt1_1210.jpg

左がオリジナル画像で、右が DXT1 圧縮後。
結構ノイズ(分散値)の強めの画像なんですが悲しい事にほとんど違いがわかりません。

さあ、とりあえず最初のノルマは達成したので次なにしようか考えます。
DXT1 をさらに圧縮して GPU Decoding。OpenCL Encoding。GIの計算を減らす方向に。テクスチャサイズを減らす方向に。タイル化して Quad tree 的な Adaptive Light Map、とりあえず思いつくのはこんなところ。
やることは色々あるような気もするんだけど、基本的な考え方は全部90年代のラジオシティと Density Estimation なのでやるべき価値があるかどうか非常に怪しい。

きゃろりんが日本に来てて明日会うので多少は相談しようかとは思いますが、奥さんも一緒に来てて観光が目的なのであまり KY すぎる事は出来ないのでとりあえず暇な時に見てもらえるように ppt にまとめようかな。

とりあえず暇つぶしでやっとく事。
http://developer.download.nvidia.com/compute/cuda/sdk/website/projects/dxtc/doc/cuda_dxtc.pdf
の Cuda のコードを OpenCL に移植する。
DXT1 圧縮はこだわりをもたなければ上からずらずらと(色の)ベクトル演算をしてくだけなので GPU で実装した方がうんと早いです。Real Time DXT Compression も完全にそっち系です。

あと、フォトントレースは全然早いのですが微妙に density estimation が遅いのでこれも GPU で何とかしたいです。photon を point sprite にして重ね合わせするのが一番早そうなのでそれをやってみます。
スポンサーサイト





管理者にだけ表示を許可する





TRACK BACK
TB*URL





Copyright © バーチャルネット右翼きも19歳. all rights reserved.

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。