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

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

Normal Mapping with Javascript and Canvas





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

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

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

関連記事

Blenderでよく使うaddon

映画『ミュータント・タートルズ』を観てきた

DCGAN (Deep Convolutional GAN)...

ZBrushで仮面ライダー3号を造る 仮面編 リファレンス画...

第20回 文化庁メディア芸術祭『3DCG表現と特撮の時代』

『Geocities-izer』 どんなWebページも一昔前...

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

Runway ML:クリエイターのための機械学習ツール

SONYの自律型エンタテインメントロボット『aibo』

OpenCV バージョン4がリリースされた!

Composition Rendering:Blenderに...

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

Blender 2.81でIntel Open Image ...

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

アクセス元IPアドレスから企業名が分かるアクセス解析『Use...

Cartographer:オープンソースのSLAMライブラリ

PythonでBlenderのAdd-on開発

MRenderUtil::raytrace

3D Gaussian Splatting:リアルタイム描画...

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

SONY製のニューラルネットワークライブラリ『NNabla』

ZBrushのZScript入門

Twitter APIのPythonラッパー『python-...

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

WordPressの表示を高速化する

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

3Dグラフィックスの入門書

世界一下品なクマと世界一紳士なクマ

PythonのHTML・XMLパーサー『BeautifulS...

Deep Fluids:流体シミュレーションをディープラーニ...

ZBrush 2021.6のMesh from Mask機能...

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

ガメラ生誕50周年

Kaolin:3Dディープラーニング用のPyTorchライブ...

物理ベースレンダリングのためのマテリアル設定チートシート

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

書籍『The Art of Mystical Beasts』...

UnityのMonoBehaviourクラスをシングルトン化...

映画『シン・仮面ライダー』 メイキング情報まとめ

iPhone・iPod touchで動作する知育ロボット『R...

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

UnityでTweenアニメーションを実装できる3種類の無料...

コメント