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

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

Normal Mapping with Javascript and Canvas





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

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

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

関連記事

R-CNN (Regions with CNN featur...

Manim:Pythonで使える数学アニメーションライブラリ

Blender 2.81でIntel Open Image ...

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

Mask R-CNN:ディープラーニングによる一般物体検出・...

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

trimesh:PythonでポリゴンMeshを扱うライブラ...

ZBrushで人型クリーチャー

C++始めようと思うんだ

粘土をこねるようなスカルプトモデリング

UnrealCLR:Unreal Engineで.NET C...

DensePose:画像中の人物表面のUV座標を推定する

2012 昨日のクローズアップ現代を見た

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

BSDF: (Bidirectional scatterin...

SDカードサイズのコンピューター『Intel Edison』

ZBrushで仮面ライダー3号を造る ベース編

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

Math Inspector:科学計算向けビジュアルプログラ...

3D映画のポストプロダクション 2D-3D変換

Webスクレイピングの勉強会に行ってきた

clearcoat Shader

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

日立のフルパララックス立体ディスプレイ

AnacondaとTensorFlowをインストールしてVi...

Unity ARKitプラグインサンプルのチュートリアルを読...

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

GoB:ZBrushとBlenderを連携させるアドオン

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

ジュラシック・パークの続編『ジュラシック・ワールド』

Stanford Bunny

Google Earth用の建物を簡単に作れるツール Goo...

3DCGのモデルを立体化するサービス

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

CGALDotNet:計算幾何学ライブラリ CGALのC#ラ...

Iterator

OpenCVでカメラ画像から自己位置認識 (Visual O...

Blendify:コンピュータービジョン向けBlenderラ...

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

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

TVML (TV program Making langua...

ZBrushでメカ物を作るチュートリアル動画

コメント