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

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

Normal Mapping with Javascript and Canvas





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

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

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

関連記事

Human Generator:Blenderの人体生成アド...

UnityでOpenCVを使うには?

トランスフォーマーの変形パターンを覚えるのは楽しいと思うんだ

iOSデバイスのためのフィジカル・コンピューティングツールキ...

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

Caffe:読みやすくて高速なディープラーニングのフレームワ...

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

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

OpenCV 3.3.0-RCでsfmモジュールをビルド

ZBrushからBlenderへモデルをインポート

機械学習手法『Random Forest』

Siggraph Asia 2009 カンファレンスの詳細

Google Earth用の建物を簡単に作れるツール Goo...

python-twitterで自分のお気に入りを取得する

ArUco:OpenCVベースのコンパクトなARライブラリ

ZBrushでゴジラ2001を作ってみる 頭の概形作り

OpenAR:OpenCVベースのマーカーARライブラリ

ポリゴン用各種イテレータと関数セット

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

映画『シン・仮面ライダー』 メイキング情報まとめ

昔Mayaでモデリングしたモデルをリファインしてみようか

Raspberry PiのGPIOを操作するPythonライ...

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

ZBrushでアヴァン・ガメラを作ってみる パーツ分割

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

Manim:Pythonで使える数学アニメーションライブラリ

trimesh:PythonでポリゴンMeshを扱うライブラ...

SVM (Support Vector Machine)

SIGGRAPH Asia

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

ガメラ生誕50周年

Google App Engineのデプロイ失敗

Mitsuba 3:オープンソースの研究向けレンダラ

SDカードサイズのコンピューター『Intel Edison』

『ゴジラ キング・オブ・モンスターズ』のVFXブレイクダウン

物理ベースレンダリングのためのマテリアル設定チートシート

OpenCV 3.3.0 contribのsfmモジュールの...

オープンソースの顔認識フレームワーク『OpenBR』

ZBrushでゴジラ2001を作ってみる 姿勢の変更

ZBrushの作業環境を見直す

注文してた本が届いた

プログラミングスキルとは何か?

コメント