法線マップを用意してCanvas上でShadingするサンプル

何かこのページだいぶ前にメモったつもりだったんだけどな。

Normal Mapping with Javascript and Canvas





まあ、ラスタライズ後の処理だけ実装した感じだよね。これがあるだけで立体感がまるで違う。この例ではマウスでライトを制御してるけど、もちろん自動でライトの方向を三次元的にグルグル動かすことも可能なはず。(オブジェクトが動かないだけ)

これのサンプルコード見てて知ったんだけど、JavaScriptって関数の中に関数を記述する『クロージャ』ってのがあるのね。クロージャについてはもう少し勉強しよう。

ついでに
Realtime Raytracing in Javascript!
Path tracing a cornell box in Javascript

関連記事

Raytracing Wiki

参考になりそうなサイト

MeshLab:3Dオブジェクトの確認・変換に便利なフリーウ...

まだ続くブログの不調

ZBrushでアヴァン・ガメラを作ってみる 全体のバランス調...

Unreal Engine Tokyo MeetUp!へ行っ...

ROMOハッカソンに行ってきた

ZBrushで仮面ライダー3号を造る 仮面編 PolyGro...

タマムシっぽい質感

ZBrushでアヴァン・ガメラを作ってみる 全体のバランス調...

フリーで使えるスカルプト系モデリングツール『Sculptri...

映画『シン・ウルトラマン』 メイキング記事まとめ

参考書

Web経由でRaspberry PiのGPIOを操作したい

Unityからkonashiをコントロールする

Russian3DScannerのトポロジー転送ツール『Wr...

After Effects全エフェクトの解説(6.5)

Boost オープンソースライブラリ

Javaで作られたオープンソースの3DCGレンダラ『Sunf...

Quartus II

チャットツール用bot開発フレームワーク『Hubot』

ラクガキの立体化 モールドの追加

C++始めようと思うんだ

現在公開されているWeb API一覧

ブログのデザイン変えました

プロシージャル手法に特化した本が出てるみたい(まだ買わないけ...

Managing Software Requirements...

UnityからROSを利用できる『ROS#』

Mayaのポリゴン分割ツールの進化

Mayaのプラグイン開発

TVML (TV program Making langua...

このブログのデザインに飽きてきた

Maya には3 種類のシェーダSDKがある?

ZBrushCore

ガメラ生誕50周年

グローバルイルミネーションに手を出す前に、やり残したことがあ...

Blendify:コンピュータービジョン向けBlenderラ...

LuxCoreRender:オープンソースの物理ベースレンダ...

ファンの力

BSDF: (Bidirectional scatterin...

Unite 2014の動画

WordPress on Google App Engine...

コメント