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

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

Normal Mapping with Javascript and Canvas





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

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

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

関連記事

ZBrushでアヴァン・ガメラを作ってみる パーツ分割

WordPressプラグインの作り方

WordPressの表示を高速化する

SIGGRAPH 2020はオンライン開催

Raspberry Pi

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

Adobe Photoshop CS4 Extendedの3...

ZBrushでアヴァン・ガメラを作ってみる 爪とトゲを追加

DCGAN (Deep Convolutional GAN)...

CGWORLD CHANNEL 第21回ニコ生配信は『シン・...

ZBrushの練習 手のモデリング

Autodesk CompositeとAutodesk Ma...

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

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

ZBrushのZmodelerとDynamic Subdiv...

Iridescence:プロトタイピング向け軽量3D可視化ラ...

頭蓋骨からの顔復元と進化過程の可視化

書籍『ROSプログラミング』

BlenderProc:Blenderで機械学習用の画像デー...

JavaScriptとかWebGLとかCanvasとか

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

ラクガキの立体化

ポリゴン用各種イテレータと関数セット

ラクガキの立体化 1年半ぶりの続き

ZBrush 2018へのアップグレード

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

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

Web経由でRaspberry PiのGPIOを操作したい

UnityのGameObjectの向きをScriptで制御す...

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

Point Cloud Libraryに動画フォーマットが追...

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

PGGAN:段階的に解像度を上げて学習を進めるGAN

ZBrushでゴジラ2001を作ってみる 姿勢の変更

WordPressプラグインによるサイトマップの自動生成

ZBrushでアヴァン・ガメラを作ってみる 甲羅のバランス調...

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

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

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

オープンソースのネットワーク可視化ソフトウェアプラットフォー...

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

Model View Controller

コメント