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

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

Normal Mapping with Javascript and Canvas





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

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

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

関連記事

Windows Server 2008にAutodesk M...

ヒーローに変身なりきりアーケードゲーム『ナレルンダー』

機械学習で遊ぶ

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

Python for Unity:UnityEditorでP...

OpenMesh:オープンソースの3Dメッシュデータライブラ...

Webサイトのワイヤーフレームが作成できるオンラインツール

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

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

フィーリングに基づくタマムシの質感表現

ZBrushのUndo Historyをカメラ固定で動画化す...

粘土をこねるようなスカルプトモデリング

Google Chromecast

WordPress on Google App Engine...

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

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

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

参考書

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

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

SIGGRAPH 2020はオンライン開催

Mayaのシェーディングノードの区分

日本でMakersは普及するだろうか?

ポリ男からMetaHumanを作る

AfterEffectsプラグイン開発

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

スクラッチで既存のキャラクターを立体化したい

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

Transformers ”Reference & Buli...

KelpNet:C#で使える可読性重視のディープラーニングラ...

OpenCV 3.1とopencv_contribモジュール...

ゴジラの造形

Mechanizeで要認証Webサイトをスクレイピング

OpenCV 3.1から追加されたSfMモジュール

オープンソースのロボットアプリケーションフレームワーク『RO...

VGGT:マルチビュー・フィードフォワード型3Dビジョン基盤...

PythonでBlenderのAdd-on開発

Photogrammetry (写真測量法)

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

世界一下品なクマと世界一紳士なクマ

Google App EngineでWordPress

iPhoneアプリ開発 Xcode 5のお作法

コメント