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

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

Normal Mapping with Javascript and Canvas





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

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

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

関連記事

画像生成AI Stable Diffusionで遊ぶ

Runway ML:クリエイターのための機械学習ツール

WordPress on Windows Azure

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

SIGGRAPH論文へのリンクサイト

BlenderのRigifyでリギング

ZBrushでアヴァン・ガメラを作ってみる 下アゴと頭部を作...

『ハン・ソロ/スター・ウォーズ・ストーリー』のVFXブレイク...

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

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

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

3Dスキャンに基づくプロシージャルフェイシャルアニメーション

ポリ男からMetaHumanを作る

IronPythonを使ってUnity上でPythonのコー...

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

オープンソースの物理ベースGIレンダラ『appleseed』

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

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

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

Adobe Photoshop CS4 Extendedの3...

Adobe Photoshop CS5の新機能

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

BlenderのPython環境にPyTorchをインストー...

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

PythonでBlenderのAdd-on開発

Verilog HDL

PythonでMayaのShapeノードプラグインを作る

ZBrushのUV MasterでUV展開

FreeMoCap Project:オープンソースのマーカー...

ZBrushでゴジラ2001を作ってみる 頭の概形作り

ZBrushの作業環境を見直す

Raspberry Pi 2のGPIOピン配置

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

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

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

MeshroomでPhotogrammetry

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

viser:Pythonで使える3D可視化ライブラリ

ZBrushのZmodelerとDynamic Subdiv...

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

COLMAP:オープンソースのSfM・MVSツール

リアルタイム レイトレーシングAPI『DirectX Ray...

コメント