html5のcanvasの可能性

もう3年前になるけど、html5のcanvas要素を使って、画像ファイルを極力使わずにWebサイトをリッチな見た目にする方法を考えていた。当時、スマホやタブレット、ノートPCなどのモバイル端末は、日を追うごとに画面が解像度化、演算能力は向上していった。このまま進むと「ボトルネックとなるのはマシンの演算能力よりもデータ通信速度じゃないか?」って思うようになった。

端末の画面の高解像度化に伴って、より高解像度に耐えうるWebサイトが必要とされ、サイトに掲載される画像の容量は増え、ストレージを圧迫し、ダウンロードにも時間がかかる。そう考えると、大容量の画像ファイルを通信回線に載せるよりも、描画アルゴリズムだけを通信すれば良いんじゃないかって。CGで言うところのプロシージャルテクスチャのような手法を使えば、クライアント側のマシンパワーでリッチな背景を生成できるんじゃないかと。

html5のcanvasを使えば、CGを描画するのと同じように、ブラウザ上に自由にグラフィックを描画できる。当時、すでにこういうものが登場していた↓
canvasでキラキラした背景を作る方法
背景を画像ではなく乱数を使ってcanvasに円を描画する、広義のプロシージャル手法ってこと。
当時はjavascriptも知らなかったのでこれで全体像を勉強した。↓
Javascript ビジュアル・リファレンス 改訂版

さらに最近ではWebGL環境も整ってきて、ブラウザ上で手軽にCGが描画できるライブラリも出てきた。
jsdo.itのページ

ということで、こういう考えでWordPressテーマを自作したいのであった。

関連記事

OpenGVのライブラリ構成

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

マンガで分かる JavaScriptプログラミング講座

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

定数

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

オープンソースの顔認識フレームワーク『OpenBR』

Human Generator:Blenderの人体生成アド...

任意の英語サイト中で自分がまだ覚えていない英単語だけに日本語...

ROSの薄い本

Pylearn2:ディープラーニングに対応したPythonの...

仮想関数

GAN (Generative Adversarial Ne...

Python for Unity:UnityEditorでP...

hloc:SuperGlueで精度を向上させたSfM・Vis...

『メカニックデザイナー 大河原邦男展』に行ってきた

OpenCVの超解像(SuperResolution)モジュ...

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

UnityでShaderの入力パラメータとして行列を渡す

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

科学技術計算向けスクリプト言語『Julia』

C++の抽象クラス

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

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

ブログをGoogle App EngineからAmazon ...

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

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

3D復元技術の情報リンク集

今年もSSII

TorchStudio:PyTorchのための統合開発環境と...

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

UnityでLight Shaftを表現する

天体写真の3D動画

Google App Engine上のWordPressでA...

スクレイピング

3DCG Meetup #4に行ってきた

R-CNN (Regions with CNN featur...

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

プログラムによる景観の自動生成

OpenCVでカメラ画像から自己位置認識 (Visual O...

オープンソースの顔の動作解析ツールキット『OpenFace』

OpenGVの用語

コメント