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

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

Normal Mapping with Javascript and Canvas





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

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

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

関連記事

仮想関数

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

UnityからROSを利用できる『ROS#』

池袋パルコで3Dのバーチャルフィッティング『ウェアラブル ク...

ゴジラの造形

Paul Debevec

Subsurface scatteringの動画

Google App EngineでWordPress

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

BlenderのGeometry Nodeで遊ぶ

ArUco:OpenCVベースのコンパクトなARライブラリ

Pix2Pix:CGANによる画像変換

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

レンダラ制作はOpenGL とか DirectX を使わなく...

Unityで学ぶC#

PyDataTokyo主催のDeep Learning勉強会

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

注文してた本が届いた

OpenSfM:PythonのStructure from ...

ラクガキの立体化 3Dプリント注文

cvui:OpenCVのための軽量GUIライブラリ

ZBrushで作った3Dモデルを立体視で確認できるVRアプリ...

Raspberry Pi 2のGPIOピン配置

Point Cloud Utils:Pythonで3D点群・...

OpenCV

Kornia:微分可能なコンピュータービジョンライブラリ

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

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

ガメラ生誕50周年

ゴジラ三昧

Raspberry PiでIoTごっこ

After Effects全エフェクトの解説(6.5)

シン・ゴジラのファンアート

布地のシワの法則性

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

NeuralNetwork.NET:.NETで使えるTens...

HTML5・WebGLベースのグラフィックスエンジン『Goo...

ZBrushでUndo Historyを動画に書き出す

pythonもかじってみようかと

OpenMVS:Multi-View Stereoによる3次...

WordPressのテーマを自作する

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

コメント