html5のcanvasの可能性

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

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

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

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

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

関連記事

線画を遠近法で描く

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

OpenGVのライブラリ構成

書籍『ROSプログラミング』

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

SONYの自律型エンタテインメントロボット『aibo』

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

Faster R-CNN:ディープラーニングによる一般物体検出手法

Human Generator:Blenderの人体生成アドオン

TensorSpace.js:ニューラルネットワークの構造を可視化するフレームワーク

FCN (Fully Convolutional Network):ディープラーニングによるSema...

Raspberry Piでセンサーの常時稼働を検討する

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

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

書籍『3次元コンピュータビジョン計算ハンドブック』を購入

機械学習手法『Random Forest』

UnityのMonoBehaviourクラスをシングルトン化する

ブログがダウンしてました

WordPressのテーマを自作する

PGGAN:段階的に解像度を上げて学習を進めるGAN

WordPress on Google App Engineを1週間運用してみて

生物の骨格

DCGAN (Deep Convolutional GAN):畳み込みニューラルネットワークによる敵...

FreeMoCap Project:オープンソースのマーカーレスモーションキャプチャ

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

C++ 標準テンプレートライブラリ (STL)

Mayaのプラグイン開発

pythonの機械学習ライブラリ『scikit-learn』

Javaで作られたオープンソースの3DCGレンダラ『Sunflow』

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

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

オープンソースの人体モデリングツール『MakeHuman』のAPI開発プロジェクトがスタート

3DCG Meetup #4に行ってきた

Google App Engineのデプロイ失敗

Pythonの自然言語処理ライブラリ『NLTK(Natural Language Toolkit)』

マルコフ連鎖モンテカルロ法

Unreal Engineの薄い本

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

Deep Learningとその他の機械学習手法の性能比較

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

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

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

コメント