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

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

Normal Mapping with Javascript and Canvas





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

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

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

関連記事

『Geocities-izer』 どんなWebページも一昔前...

Physics Forests:機械学習で流体シミュレーショ...

VCG Library:C++のポリゴン操作ライブラリ

OpenCVで顔のランドマークを検出する『Facemark ...

OANDAのfxTrade API

顔のモデリング

OpenCVの超解像(SuperResolution)モジュ...

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

UnityでLight Shaftを表現する

『ローグ・ワン/スター・ウォーズ・ストーリー』"あのキャラク...

Unity Scriptコーディング→Unreal Engi...

注文してた本が届いた

布のモデリング

RSSフィードを読込んで表示するWordpressプラグイン...

Pythonのソースコードに特化した検索エンジン『Nulle...

オープンソースのテクスチャマッピングシステム『Ptex』

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

ニューラルネットワークで画像分類

bpy-renderer:レンダリング用Pythonパッケー...

Windows Server 2008にAutodesk M...

SVM (Support Vector Machine)

Blender 4.2以降のWindowsPortable版...

ZBrushでカスタムUIを設定する

Raspberry PiでIoTごっこ

ラクガキの立体化 反省

OpenVDB:3Dボリュームデータ処理ライブラリ

CGALDotNet:計算幾何学ライブラリ CGALのC#ラ...

CGレンダラ研究開発のためのフレームワーク『Lightmet...

組み込み向けのWindows OS 『Windows Emb...

ZBrushでアヴァン・ガメラを作ってみる 下アゴの付け根を...

Konashiを買った

ManimML:機械学習の概念を視覚的に説明するためのライブ...

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

株式会社ヘキサドライブの研究室ページ

実写と実写の合成時の色の馴染ませテクニック

定数

サンプルコードにも間違いはある?

adskShaderSDK

Iridescence:プロトタイピング向け軽量3D可視化ラ...

Google App EngineでWordPress

Amazon Web ServicesでWordPress

OpenCVのバージョン3が正式リリースされたぞ

コメント