659 日目(晴れ)毎日眠ってもまだ眠りたい
フレームバッファー API を projection mapping とそれに続く shadow mapping
の課題で履修できたものとして、これから学習する WebGL API をまとめておく。
まず WebGLRenderbuffer 周りを押さえる。これには WebGLTexture API
と類比的な対応物があると憶えておく。
// gl.createTexture() に類比的なメソッド
WebGLRenderbuffer gl.createRenderbuffer();
// gl.bindTexture に類比的なメソッド
void gl.bindRenderbuffer(gl.RENDERBUFFER, renderbuffer);
// gl.framebufferTexture2D に類比的なメソッド
void gl.framebufferRenderbuffer(gl.FRAMEBUFFER, attachment, gl.RENDERBUFFER, renderbuffer);
// gl.texImage2D に類比的なメソッド
void gl.renderbufferStorage(gl.RENDERBUFFER, internalFormat, width, height);
- Vtuberミカドちゃん雑談配信【Cooking Simulator】20220212 - YouTube: 作業 BGM としては謎だが構わない。
ゆっくりダンジョンマスターのレベル 3 前半を聴きながら麻雀の練習。
2:55 消灯。
13:25 室内が寒い。一日中眠っていたいが起床。PC を点けてアジフライ弁当を食う。
- 【ゆっくり紹介】MSX ガルフォース カオスの攻防 - YouTube
- 【ゆっくり紹介】MSX ロードランナー - YouTube
- 布袋寅泰 / HOTEI - CIRCUS - YouTube
- 布袋2:50 - YouTube: 現存していたのか。
14:30 歌謡曲の MP3 ファイル二つを作成、編集。
16:05 外出。スカイツリー展望台一階トイレ。 二階の三省堂書店に移動して雑誌チェック。アエラの楳図かずお先生展覧会記事は要チェック。 伊藤潤二先生がレポートしてくれている。適切な人選だ。
押上駅バス停。錦糸町駅行きに乗ってそのまま終点まで移動。 アルカキット錦糸町の出入口で体温チェック。
17:15 オリナス錦糸町二階ベンチ。休憩。
18:00 タイトー F ステーションオリナス錦糸町店。MJ プロ卓東風戦 4 クレ。 強引な待ちでも贅沢言わずにリーチリーチで何とか浮きで終える。
【SCORE】
合計SCORE:+98.8
【最終段位】
四人打ち段位:飛龍 幻球:9
【2/14の最新8試合の履歴】
1st|*--*--*-
2nd|----**--
3rd|--*----*
4th|-*------
old new
【順位】
1位回数:3(37.50%)
2位回数:2(25.00%)
3位回数:2(25.00%)
4位回数:1(12.50%)
平均順位:2.13
プレイ局数:42局
【打ち筋】
アガリ率:26.19%(11/42)
平均アガリ翻:3.45翻
平均アガリ巡目:11.55巡
振込み率:4.76%(2/42)
【2/14の最高役】
・跳満
・跳満
20:10 カスミオリナス錦糸町店。363 円。
- 三種丼(豚レバーニンニク芽・菜の花干しエビ・肉団子)
- 野菜ジュース (900)
20:40 ビッグエー墨田業平店。234 円。豆腐を買い忘れる。
- スライスチーズ (5)
- ソーセージパン
- コッペパンいちごジャム
曳舟の部屋。携帯電話充電開始。入浴。
21:25 風呂から出る。服がまだ乾き切っていない。PC を起こして晩飯。 インターネットをチェックしたら WebGL コード精読とリファクタリングに戻る。
// 画素の矩形範囲にあるデータを得る。
// オブジェクト pixels は type によって決める。
// gl.UNSIGNED_INT ならば矩形範囲の大きさに見合う長さの Uint8Array オブジェクトを渡す。
void gl.readPixels(x, y, width, height, format, type, pixels);
教材のコードでは、 ツーパス描画の最初のパスでオブジェクトを塗る色を RGBA ではなく、 各オブジェクトに一意的な数値にしている。これを上記メソッドで読み込み、 JavaScript 側で持っているオブジェクトを特定するのに使う。これでピックを実現する。 あとはフレーム数に応じてハイライト色を決める。処理の概要を理解できた。
23:20 行列を読解し終わる。それぞれのパスで投影行列を変える。 FBO に描画するときにはマウス位置の点一つだけでいいので、そういう行列を計算する。 これでピックの処理効率がひじょうに良くなる。