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

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

Normal Mapping with Javascript and Canvas





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

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

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

関連記事

Konashiを買った

『ピクサー展』へ行ってきた

Managing Software Requirements...

ゴジラ三昧

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

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

GitHub Pagesで静的サイトを作る

Math.NET Numerics:Unityで使える数値計...

Blender 2.81でIntel Open Image ...

Unityの各コンポーネント間でのやり取り

書籍『メイキング・オブ・ピクサー 創造力をつくった人々』を読...

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

ZBrushと液晶ペンタブレットでドラゴンをモデリングするチ...

Mayaのプラグイン開発

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

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

ManimML:機械学習の概念を視覚的に説明するためのライブ...

MB-Lab:Blenderの人体モデリングアドオン

参考書

HD画質の無駄遣い

HD画質の無駄遣い その2

天体写真の3D動画

ZBrushでアヴァン・ガメラを作ってみる 甲羅の修正・脚の...

Dlib:C++の機械学習ライブラリ

Adobe Photoshop CS5の新機能

ZBrushのハードサーフェイス用ブラシ

映画『シン・ウルトラマン』 メイキング記事まとめ

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

Webサイトのワイヤーフレームが作成できるオンラインツール

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

Windows10でPyTorchをインストールしてVSCo...

HerokuでMEAN stack

uGUI:Unityの新しいGUI作成システム

OpenGVのライブラリ構成

アニゴジ関連情報

ZBrushで基本となるブラシ

NeRF (Neural Radiance Fields):...

OpenCV 3.1とopencv_contribモジュール...

python-twitterで自分のお気に入りを取得する

ガメラ生誕50周年

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

自前のShaderがおかしい件

コメント