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

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

Normal Mapping with Javascript and Canvas





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

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

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

関連記事

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

ZBrushでリメッシュとディティールの転送

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

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

参考書

pythonの機械学習ライブラリ『scikit-learn』

NeRF (Neural Radiance Fields):...

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

映画『ゴジラ-1.0』 メイキング情報まとめ

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

Google App Engine上のWordPressでF...

ニューラルネットワークで画像分類

株式会社ヘキサドライブの研究室ページ

Google App Engineのデプロイ失敗

ZBrushのZmodelerとDynamic Subdiv...

注文してた本が届いた

色んな三面図があるサイト

OpenCV 3.1のsfmモジュールのビルド再び

TensorFlowでCGを微分できる『TensorFlow...

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

ゴジラの造形

Python.NET:Pythonと.NETを連携させるパッ...

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

ManuelBastioniLAB:人体モデリングできるBl...

OpenMayaのPhongShaderクラス

AndroidもopenGLも初心者さ (でもJavaは知っ...

ラクガキの立体化 進捗

RSSフィードを読込んで表示するWordpressプラグイン...

Ambient Occlusionを解析的に求める

ZBrushのキャンバスにリファレンス画像を配置する

トランスフォーマー :リベンジのメイキング (デジタルドメイ...

機械学習手法『Random Forest』

Unityの各コンポーネント間でのやり取り

WordPressプラグインの作り方

Webページ制作のためのメモ

任意の英語サイト中で自分がまだ覚えていない英単語だけに日本語...

TensorSpace.js:ニューラルネットワークの構造を...

ポリゴンジオメトリ処理ライブラリ『pmp-library (...

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

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

Unity Scriptコーディング→Unreal Engi...

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

コメント