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

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

Normal Mapping with Javascript and Canvas





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

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

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

関連記事

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

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

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

OpenCVの三角測量関数『cv::triangulatep...

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

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

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

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

フルCGのウルトラマン!?

Oculus Goを購入!

ZBrush 2018へのアップグレード

2D→3D復元技術で使われる用語まとめ

ZBrushでアヴァン・ガメラを作ってみる 壊れたデータの救...

映画『ブレードランナー 2049』のVFX

C++ 標準テンプレートライブラリ (STL)

Verilog HDL

ラクガキの立体化 背中の作り込み・手首の移植

ラクガキの立体化

ジュラシック・パークのメイキング

布地のシワの法則性

Deep Fluids:流体シミュレーションをディープラーニ...

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

ブログの復旧が難航してた話

ZScript

DUSt3R:3Dコンピュータービジョンの基盤モデル

ZBrushで仮面ライダー3号を造る 仮面編 ZRemesh...

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

Unityで強化学習できる『Unity ML-Agents』

チャットツール用bot開発フレームワーク『Hubot』

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

ZBrushで仮面ライダー3号を造る 仮面編 PolyGro...

Unite 2014の動画

Mean Stack開発の最初の一歩

fSpy:1枚の写真からカメラパラメーターを割り出すツール

Google App Engine上のWordPressでA...

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

openMVG:複数視点画像から3次元形状を復元するライブラ...

OpenMayaのPhongShaderクラス

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

ブログをwpXレンタルサーバーからwpX Speedへ移行

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

ZBrushでアヴァン・ガメラを作ってみる 脚のポーズ調整

コメント