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

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

Normal Mapping with Javascript and Canvas





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

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

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

関連記事

ポリゴン用各種イテレータと関数セット

Google製オープンソース機械学習ライブラリ『Tensor...

タマムシっぽい質感

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

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

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

OpenMayaのPhongShaderクラス

物理ベースレンダリングのためのマテリアル設定チートシート

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

HD画質の無駄遣い

Unityの薄い本

この本読むよ

CLO:服飾デザインツール

ディープラーニング

ZBrushでアヴァン・ガメラを作ってみる 頭頂部と首周りを...

アニゴジ関連情報

Web経由でRaspberry PiのGPIOを操作したい

OpenVDB:3Dボリュームデータ処理ライブラリ

SIGGRAPH ASIAのマスコット

Runway ML:クリエイターのための機械学習ツール

Multi-View Environment:複数画像から3...

Subsurface scatteringの動画

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

オープンソースの物理ベースGIレンダラ『appleseed』

機械学習で遊ぶ

Maya 2015から標準搭載されたMILA

CGのためのディープラーニング

OANDAのfxTrade API

R-CNN (Regions with CNN featur...

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

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

Python for Unity:UnityEditorでP...

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

HTML5・WebGLベースのグラフィックスエンジン『Goo...

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

ZBrush4新機能ハイライト 3DCG CAMP 2010

FreeMoCap Project:オープンソースのマーカー...

デザインのリファイン再び

Google App EngineでWordPress

サンプルコードにも間違いはある?

Pix2Pix:CGANによる画像変換

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

コメント