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

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

Normal Mapping with Javascript and Canvas





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

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

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

関連記事

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

MPFB2:Blenderの人体モデリングアドオン

Iterator

生物の骨格

PolyPaint

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

ラクガキの立体化 分割ラインの変更・バランス調整

Unityで画面タッチ・ジェスチャ入力を扱う無料Asset『...

Pythonの自然言語処理ライブラリ『NLTK(Natura...

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

株式会社ヘキサドライブの研究室ページ

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

UnityプロジェクトをGitHubで管理する

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

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

TensorFlowでCGを微分できる『TensorFlow...

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

MeshroomでPhotogrammetry

オープンソースのロボットアプリケーションフレームワーク『RO...

Unreal Engine Tokyo MeetUp!へ行っ...

konashiのサンプルコードを動かしてみた

AMIMOTO(PVM版)で作成したインスタンスをAMIMO...

胡散臭いデザインの参考サイト

PyTorch3D:3Dコンピュータービジョンライブラリ

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

映画『ブレードランナー 2049』のVFX

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

Mayaのシェーディングノードの区分

SVM (Support Vector Machine)

ZBrushでゴジラ2001を作ってみる 姿勢の変更

この本読むよ

OpenMVS:Multi-View Stereoによる3次...

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

HD画質の無駄遣い その2

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

Maya LTのQuick Rigを試す

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

Unite 2014の動画

映画から想像するVR・AR時代のGUIデザイン

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

ZBrushでアヴァン・ガメラを作ってみる 脚のポーズ調整

NumSharp:C#で使えるNumPyライクな数値計算ライ...

コメント