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

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

Normal Mapping with Javascript and Canvas





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

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

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

関連記事

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

Mitsuba 2:オープンソースの物理ベースレンダラ

JavaScriptとかWebGLとかCanvasとか

手を動かしながら学ぶデータマイニング

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

3Dスキャンに基づくプロシージャルフェイシャルアニメーション

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

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

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

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

OpenCV 3.1のsfmモジュールのビルド再び

Vancouver Film Schoolのデモリール

組み込み向けのWindows OS 『Windows Emb...

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

この連休でZBrushの スキルアップを…

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

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

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

ZBrush 4R8 リリース!

OpenGV:画像からカメラの3次元位置・姿勢を推定するライ...

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

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

GAN (Generative Adversarial Ne...

Photoshopで作る怪獣特撮チュートリアル

ラクガキの立体化 反省

Rerun:マルチモーダルデータの可視化アプリとSDK

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

『スター・ウォーズ 最後のジェダイ』のVFXブレイクダウン ...

Shader.jp:リアルタイム3DCG技術をあつかうサイト

BGSLibrary:OpenCVベースの背景差分ライブラリ

映画『ジュラシック・ワールド』のVFXメイキング

BSDF: (Bidirectional scatterin...

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

ZBrushで手首のモデリングをリファイン

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

Physically Based Rendering

OpenCVの三角測量関数『cv::triangulatep...

AndroidもopenGLも初心者さ (でもJavaは知っ...

Siggraph Asia 2009 カンファレンスの詳細

Pythonのソースコードに特化した検索エンジン『Nulle...

布のモデリング

BlenderProc:Blenderで機械学習用の画像デー...

コメント