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

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

Normal Mapping with Javascript and Canvas





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

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

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

関連記事

映画『ジュラシック・ワールド/炎の王国』のVFXブレイクダウ...

『パシフィック・リム: アップライジング』のVFXブレイクダ...

映画から想像するVR・AR時代のGUIデザイン

Multi-View Environment:複数画像から3...

Faceshiftで表情をキャプチャしてBlender上でM...

MFnDataとMFnAttribute

ZBrushで仮面ライダー3号を造る 仮面編 横顔のシルエッ...

BGSLibrary:OpenCVベースの背景差分ライブラリ

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

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

NumSharp:C#で使えるNumPyライクな数値計算ライ...

konashiのサンプルコードを動かしてみた

Mayaのレンダリング アトリビュート

書籍『3次元コンピュータビジョン計算ハンドブック』を購入

MythTV:Linuxでテレビの視聴・録画ができるオープン...

C#で使える遺伝的アルゴリズムライブラリ『GeneticSh...

ZBrush用トポロジー転送プラグイン『ZWrap Plug...

Super Resolution:OpenCVの超解像処理モ...

Blenderでよく使うaddon

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

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

PythonのHTML・XMLパーサー『BeautifulS...

『スター・ウォーズ 最後のジェダイ』のVFXブレイクダウン ...

ZBrushでアヴァン・ガメラを作ってみる 下半身のバランス...

Dlib:C++の機械学習ライブラリ

プログラムによる景観の自動生成

ZBrushでアヴァン・ガメラを作ってみる おでこ(?)のバ...

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

Zibra Liquids:Unity向け流体シミュレーショ...

この連休でZBrushの スキルアップを…

ZBrushでアヴァン・ガメラを作ってみる 頭頂部の作り込み...

WebGL開発に関する情報が充実してきている

Faster R-CNN:ディープラーニングによる一般物体検...

3D復元技術の情報リンク集

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

ZBrush 2018での作業環境を整える

uvでWindows11のPython環境を管理する

ラクガキの立体化 目標設定

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

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

Ambient Occlusionを解析的に求める

Managing Software Requirements...

コメント