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

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

Normal Mapping with Javascript and Canvas





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

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

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

関連記事

サンプルコードにも間違いはある?

Unityで360度ステレオVR動画を作る

hloc:SuperGlueで精度を向上させたSfM・Vis...

ZBrushで仮面ライダー3号を造る 仮面編 PolyGro...

CEDEC 3日目

Iterator

AmazonEC2のインスタンスをt1.microからt2....

Ambient Occlusionを解析的に求める

iOSで使えるJetpac社の物体認識SDK『DeepBel...

Unreal Engineの薄い本

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

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

『スター・ウォーズ フォースの覚醒』のVFXブレイクダウン ...

ハリウッド版「GAIKING」パイロット映像

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

3分の動画でプログラミングを学習できるサイト『ドットインスト...

クラスの基本

JavaScriptとかWebGLとかCanvasとか

オープンソースのテクスチャマッピングシステム『Ptex』

写真に3Dオブジェクトを違和感無く合成する『3DPhotoM...

ZBrushでゴジラ2001を作ってみる 側頭部のボリューム...

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

ブログのデザイン変えました

このブログのデザインに飽きてきた

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

Houdiniのライセンスの種類

布のモデリング

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

オープンソースの物理ベースレンダラ『Mitsuba』をMay...

MRenderUtil::raytrace

ZBrushで仮面ライダーBLACK SUNを作る 頭部~バ...

海外ドラマのChromaKey

Raspberry PiでIoTごっこ

Photogrammetry (写真測量法)

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

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

Swark:コードからアーキテクチャ図を作成できるVSCod...

アニゴジ関連情報

SIGGRAPH ASIA 2009で学生ボランティア募集し...

ZBrush キャラクター&クリーチャー

CLO:服飾デザインツール

openMVGをWindows10 Visual Studi...

コメント