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

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

Normal Mapping with Javascript and Canvas





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

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

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

関連記事

OpenMayaRender

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

ZScript

iOSデバイスのためのフィジカル・コンピューティングツールキ...

マンガで分かる JavaScriptプログラミング講座

Seleniumを使ったFXや株の自動取引

JavaによるCGプログラミング入門サイト (日本語)

OpenMayaのPhongShaderクラス

タダでRenderManを体験する方法

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

ZBrushでアヴァン・ガメラを作ってみる モールドの彫り込...

中学3年生が制作した短編映像作品『2045』

geometry3Sharp:Unity C#で使えるポリゴ...

PyDataTokyo主催のDeep Learning勉強会

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

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

Caffe:読みやすくて高速なディープラーニングのフレームワ...

色んな三面図があるサイト

マルコフ連鎖モンテカルロ法

Quartus II

iOSデバイスと接続して連携するガジェットの開発方法

OpenMesh:オープンソースの3Dメッシュデータライブラ...

Unreal Engine 5の情報が公開された!

参考になりそうなサイト

Google Chromecast

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

ZBrushのZmodelerとDynamic Subdiv...

Polyscope:3Dデータ操作用GUIライブラリ

Deep Learningとその他の機械学習手法の性能比較

プログラミングスキルとは何か?

PureRef:リファレンス画像専用ビューア

ZBrush 2018へのアップグレード

DCGAN (Deep Convolutional GAN)...

OpenGVのライブラリ構成

LuxCoreRender:オープンソースの物理ベースレンダ...

Ambient Occlusionを解析的に求める

『PIXARのひみつ展』に行ってきた

Blender 2.8がついに正式リリース!

PolyPaint

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

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

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

コメント