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

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

Normal Mapping with Javascript and Canvas





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

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

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

関連記事

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

機械学習で遊ぶ

『ローグ・ワン/スター・ウォーズ・ストーリー』"あのキャラク...

ヘッドマウントディスプレイとビジュアリゼーションの未来

Stanford Bunny

粘土をこねるようなスカルプトモデリング

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

映画『ミュータント・タートルズ』を観てきた

Windows10でPyTorchをインストールしてVSCo...

MeshLab:3Dオブジェクトの確認・変換に便利なフリーウ...

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

OpenCV

書籍『開田裕治 怪獣イラストテクニック』

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

uGUI:Unityの新しいGUI作成システム

まだ続くブログの不調

オープンソースのネットワーク可視化ソフトウェアプラットフォー...

Python拡張モジュールのWindows用インストーラー配...

iPhoneアプリ開発 Xcode 5のお作法

3Dモデルを立体視で確認できるVRアプリを作っている

Webサイトのワイヤーフレームが作成できるオンラインツール

OpenCV3.3.0でsfmモジュールのビルドに成功!

「ベンジャミン·バトン数奇な人生」でどうやってCGの顔を作っ...

Twitter APIのPythonラッパー『python-...

ドットインストールのWordPress入門レッスン

ZBrushで基本となるブラシ

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

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

ラクガキの立体化 目標設定

ZBrushでアヴァン・ガメラを作ってみる 下アゴと頭部を作...

3DCG Meetup #4に行ってきた

ZBrush 2018へのアップグレード

iOSデバイスのためのフィジカル・コンピューティングツールキ...

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

Unityの各コンポーネント間でのやり取り

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

Cartographer:オープンソースのSLAMライブラリ

Maya LTのQuick Rigを試す

OpenCVのバージョン3が正式リリースされたぞ

フォトンの放射から格納までを可視化した動画

D3.js:JavaScriptのデータビジュアライゼーショ...

Amazon Web ServicesでWordPress

コメント