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

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

Normal Mapping with Javascript and Canvas





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

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

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

関連記事

定数

ジュラシック・パークのメイキング

fSpy:1枚の写真からカメラパラメーターを割り出すツール

Unreal Engineの薄い本

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

なんかすごいサイト

ZBrushでアヴァン・ガメラを作ってみる おでこ(?)のバ...

Konashiを買った

日立のフルパララックス立体ディスプレイ

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

フィーリングに基づくタマムシの質感表現

VCG Library:C++のポリゴン操作ライブラリ

ZBrushでゴジラ2001を作ってみる 側頭部のボリューム...

ManimML:機械学習の概念を視覚的に説明するためのライブ...

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

Open3D:3Dデータ処理ライブラリ

Geogram:C++の3D幾何アルゴリズムライブラリ

Maya API Reference

OpenCVでiPhone6sのカメラをキャリブレーションす...

Raspberry PiのGPIOを操作するPythonライ...

CGWORLD CHANNEL 第21回ニコ生配信は『シン・...

タマムシっぽい質感

ポリ男からMetaHumanを作る

Unityで学ぶC#

オープンソースの取引プラットフォーム

ZBrushでアヴァン・ガメラを作ってみる 甲羅の修正・脚の...

参考になりそうなサイト

OpenCV 3.1のsfmモジュールを試す

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

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

Math Inspector:科学計算向けビジュアルプログラ...

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

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

ZBrushでアヴァン・ガメラを作ってみる

Manim:Pythonで使える数学アニメーションライブラリ

viser:Pythonで使える3D可視化ライブラリ

CEDEC 3日目

ZBrushでUndo Historyを動画に書き出す

RSSフィードを読込んで表示するWordpressプラグイン...

PyMC:Pythonのベイズ統計ライブラリ

Point Cloud Utils:Pythonで3D点群・...

スターウォーズ エピソードVIIの予告編

コメント