Re:贈答文化

この記事は光 Advent Calendar 2014 10日目の記事であり、くれちょんくんの贈答文化へのアンサー記事です。 光 Advent Calendar があと一枠で埋まるのでせっかくだから書いた。 贈答文化の要約 贈答文化をざっと要約すると、Amazon ウィッシュリストはメッセージ性の軽薄な新しい贈答文化で、この記事を書いたくれちょんくんは軽薄な互酬性についての批判を述べている。おおまかには同意するのだけど、ぼくは自分でウィッシュリストを公開したことがあるし、人に贈ったことも何度かあるので自分の意見を書いてみる。 Amazon ウィッシュリストにも光はある まず前提として「芸能人的な人への贈答」はぼくの考えから省いていて、一般的な友好関係にある人間同士の贈答で考えてみる。くれちょんくんの記事でもそれを想定している。 その上でぼくが一番気になったのはこの箇所 »

WebGL 入門 その5

前回の記事の続き。今回は主にライティング(照明)について。 今回からは新しい概念を学びつつも手を動かしていくということが重要になってきそうだということで、学んだことを反映したものを作った。教えて貰ったことを、自分の書き方でリライトした。 demo コード ※行列ライブラリはminMatrix.js(ライセンスフリー)を利用させていただいています。 まだしょぼしょぼな感じですけど、絶望に打ちひしがれていた最初のころと比べると進歩が目に見えてめでたい。 さて、前置きが長くなったけど早速今回の講座の咀嚼をしていく。 ※追記 "影" と表記していた箇所は、正しくは "陰" でした。 意味合いが全く異なりますので訂正いたします。 アニメーション »

WebGL 入門 その4

前回の記事の続き。 今回は、主に行列について教わった。まるで数学の授業を受けているような錯覚に陥り、少しノスタルジックな気分になりました。一方、今回から3D っぽいことを少しずつやらせてもらうようになり、大変楽しかった。 行列について まず行列について。行列はざっくりいうとたくさんの数値が詰め込まれた箱みたいなもので一度に多くの、様々な情報を保持することができる数学の概念。3Dプログラミングの用途としては多くの場合、行列を用いて座標変換すること。 ただ、行列同士の加算や減算、乗算など計算方法が難解。とにかく難しいので、全てを理解しようとせずに最初に使い方を覚えてしまうことが重要だそう。全てを理解するには大学の学部に入れという感じだった。 WebGL で最低限覚えないといけない行列の種類 行列はとにかく奥の深い厄介者だけど、WebGL で扱う上ではとりあえず下記に記した4種類の行列を覚えればOK »

Web の闇を光で照らす(物理)

光 Advent Calendar 2014 1日目の記事です。 Three.js を使って、Web の闇を光で照らしました。 demo はこちら 明日は FICC 社のスーパー Web クリエーター、川崎さんです。 »

WebGL 入門 その3

前回の記事の続き。 今回は、シェーダについて教わりました。今日はそこまで難しいとは感じなかったし、少しだけだけど手を動かしてものが作れたのが良かった。 シェーダをおさらい 専門用語が多すぎて厳しいので、一度シェーダはどういうものだったかを思い出してみる。 シェーダはちっちゃいコンピューターみたいなもので、WebGL ではそのコンピューターがデータをどのように処理するかを自分で書く必要がある。 そのコンピューターを使えるようにするには、書いたソースをコンパイルしてオブジェクトに変換する必要がある。 WebGL には、頂点シェーダとフラグメントシェーダの2種類があって、頂点シェーダはジオメトリパイプラインで使われ、フラグメントシェーダはフラグメントパイプラインで使われる。 WebGL ではこの2つが両方揃って初めて利用できるみたい。 "シェーダがデータをどのように処理するかを書く" と書いたけど、そのデータってなんなのかというと、JS から送るもので、頂点データと汎用データをそれぞれ送る »

WebGL 入門 その2

前回の記事の続き。 WebGL 入門 その1 今日は前回よりも格段に難しいな、と感じた。 前回は WebGL ってなんぞやみたいな部分が多く、WebGL の概念のお話だったけど、今日は WebGL で描画されるまでの流れだった。 WebGL での描画までの全体の流れ WebGL で描画をするには以下の5つのステップを経ていく。 シェーダの生成とリンク 頂点データの準備 行列の生成と初期化 シェーダへのデータ転送 全体設定とドローコール この流れで描画を行う。 また、この中で大きく2つに分けて考えるとわかりやすいとのこと »