何かこのページだいぶ前にメモったつもりだったんだけどな。
Normal Mapping with Javascript and Canvas
まあ、ラスタライズ後の処理だけ実装した感じだよね。これがあるだけで立体感がまるで違う。この例ではマウスでライトを制御してるけど、もちろん自動でライトの方向を三次元的にグルグル動かすことも可能なはず。(オブジェクトが動かないだけ)
これのサンプルコード見てて知ったんだけど、JavaScriptって関数の中に関数を記述する『クロージャ』ってのがあるのね。クロージャについてはもう少し勉強しよう。
ついでに
Realtime Raytracing in Javascript!
Path tracing a cornell box in Javascript
関連記事
フルCGのウルトラマン!?
Mask R-CNN:ディープラーニングによる一般物体検出・...
Google App Engine上のWordPressでF...
昔Mayaでモデリングしたモデルをリファインしてみようか
WordPressのテーマを自作する
書籍『ROSプログラミング』
ZBrushのUndo Historyをカメラ固定で動画化す...
ZBrushでアヴァン・ガメラを作ってみる 下半身のバランス...
libigl:軽量なジオメトリ処理ライブラリ
CycleGAN:ドメイン関係を学習した画像変換
Phongの表現力パネェ 材質別のPhong Shader用...
HD画質の無駄遣い その2
Vancouver Film Schoolのデモリール
OpenVDB:3Dボリュームデータ処理ライブラリ
動的なメモリの扱い
CGWORLD CHANNEL 第21回ニコ生配信は『シン・...
チャットツール用bot開発フレームワーク『Hubot』
ZBrushCore
Mayaのポリゴン分割ツールの進化
Google Chromecast
OpenMayaのPhongShaderクラス
GoB:ZBrushとBlenderを連携させるアドオン
CGレンダラ研究開発のためのフレームワーク『Lightmet...
Python for Unity:UnityEditorでP...
映画『ブレードランナー 2049』のVFX
『ピクサー展』へ行ってきた
スクラッチで既存のキャラクターを立体化したい
bpy-renderer:レンダリング用Pythonパッケー...
スターウォーズ エピソードVIIの予告編
Unityの各コンポーネント間でのやり取り
iPhoneアプリ開発 Xcode 5のお作法
uGUI:Unityの新しいGUI作成システム
MVStudio:オープンソースのPhotogrammetr...
手を動かしながら学ぶデータマイニング
アクセス元IPアドレスから企業名が分かるアクセス解析『Use...
布地のシワの法則性
Seleniumを使ったFXや株の自動取引
ZBrushでアヴァン・ガメラを作ってみる
ブログが1日ダウンしてました
Deep Fluids:流体シミュレーションをディープラーニ...
ジュラシック・パークのメイキング
色んな三面図があるサイト

コメント