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

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

Normal Mapping with Javascript and Canvas





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

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

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

関連記事

『スター・ウォーズ/スカイウォーカーの夜明け』のVFXブレイ...

Amazon Web ServicesでWordPress

画像生成AI Stable Diffusionで遊ぶ

第20回 文化庁メディア芸術祭『3DCG表現と特撮の時代』

ROSの薄い本

マルコフ連鎖モンテカルロ法

トランスフォーマー/ロストエイジのメイキング

Webスクレイピングの勉強会に行ってきた

UnityのGlobal Illumination

Kaolin:3Dディープラーニング用のPyTorchライブ...

ZBrushの練習 手のモデリング

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

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

CGWORLD CHANNEL 第21回ニコ生配信は『シン・...

ZBrushでアヴァン・ガメラを作ってみる 歯茎を別パーツへ...

ZBrushでゴジラ2001を作ってみる 身体のシルエット出...

3分の動画でプログラミングを学習できるサイト『ドットインスト...

ハリウッド版「GAIKING」パイロット映像

PythonでBlenderのAdd-on開発

オープンソースの顔の動作解析ツールキット『OpenFace』

OpenCVで顔のモーフィングを実装する

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

PolyPaint

Google App Engine上のWordPressでF...

OpenCV3.3.0でsfmモジュールのビルドに成功!

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

Houdiniのライセンスの種類

MetaHumanの頭部をBlenderで編集できるアドオン

『スター・ウォーズ フォースの覚醒』のVFXブレイクダウン ...

CGのためのディープラーニング

『手を動かしながら学ぶエンジニアのためのデータサイエンス』ハ...

ブログが1日ダウンしてました

OpenCVで平均顔を作るチュートリアル

Photo Bash:複数の写真を組み合わせて1枚のイラスト...

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

Unityで学ぶC#

WordPressの表示を高速化する

リメイク版ロボコップスーツのメイキング

Mean Stack開発の最初の一歩

布のモデリング

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

MeshroomでPhotogrammetry

コメント