YouTube に食い入るようにしていると怠け癖がつく。どんどん怠けよう。

1:30 就寝。

7:05 起床。納豆とミニおにぎり二個を食らう。出勤。

7:40 現場到着。資源ゴミの日なので穏やかだ。時間が余ればビッグエーにカートを返却しに出張る。 裏庭で猫のフンを除去している作業中に雨が降ってくる。ちょうど取り終えたところで屋根の下に避難。 一分くらいで雨が上がる。

10:00 勤務終了。撤収。イトーヨーカドー曳舟店で体温チェックとトイレ。

10:35 曳舟の部屋に戻る。半裸になって PC 作業。今日はいつもよりは涼しいか。

今日は An intro to modern OpenGL の Chapter 3: 3D transformation and projection を WebGL に移植する。

  • C 言語の部分は昨日の hello world とほとんど変わらない。
    • 頂点データを 3D 対応。glVertexAttribPointer の実引数の更新を忘れずに。
    • GLSL コードをテキストファイルから読み込むようにする。JavaScript ではどうするか。モダンに fetch() を採用する。 すると必然的にエントリー関数を含むいくつかの移植関数が async function になる。
    • 変数 fade_factor は GLSL の大域スコープにしか存在しなくなる。

12:15 動作確認終了。意外に勉強になる。次は GLSL の差し替えを試す。その前におやつ休憩。

13:10 テザリングが低速過ぎるせいか YouTube が開かないので WebGL の続き。頂点シェーダーを差し替える。

  • GLSL のファイルパスを HTML ファイルの URL のケツから ?glsl=path のようにして渡すことにする。 JavaScript では URLSearchParams というクラスが使える。
  • 何度でも言うが行列 mat2, mat3, mat4 の成分の記述順に注意する。
  • この章では頂点シェーダーコードが複数あるので、思うところはそれらすべてをチェックしてから述べたい。

14:10 昼寝。最初は涼しいのだが日暮れが近づくと暑くなる。郵便受けから何かが投函される音が聞こえる。 日付的に福祉事務所からの生活費返納督促状だろう。今日は今から行っても経理係の営業時間に間に合わない。明日だ。

17:10 起き上がる。外出。押上駅バス停に移動。バスに乗って錦糸公園前へ。少し広場のベンチで休む。

18:00 タイトー F ステーションオリナス錦糸町店。MJ プロ卓東風戦 6 クレ。 お座り一発目で超上級者二名といっぺんに同卓。これは思いやられる。 私のようなザコに対しても絶対に甘い牌を打たないので、まず勝てない。そして予想通りこちらの甘い牌を咎めに来る。 一枚切れのドラの中で七対子ダマで待ち構えていた。先行リーチ者が出て、彼の現物が中なので切ったら打っちゃったよ打っちゃった状態。

【SCORE】
合計SCORE:-153.5

【最終段位】
四人打ち段位:伏龍 幻球:6

【6/23の最新8試合の履歴】
1st|-------*
2nd|--------
3rd|-*-*-*--
4th|--*-*-*-
old         new

【順位】
1位回数:1(14.29%)
2位回数:0(0.00%)
3位回数:3(42.86%)
4位回数:3(42.86%)
平均順位:3.14

プレイ局数:35局

【打ち筋】
アガリ率:5.71%(2/35)
平均アガリ翻:2.50翻
平均アガリ巡目:11.50巡
振込み率:14.29%(5/35)

【6/23の最高役】
最高役のデータがありません。最高役は、跳満以上のアガリが対象となります。

気分がクサクサするのでビートマニア STEP UP で難しめのレベル 10 の譜面をやって落ち着く。

19:55 カスミオリナス錦糸町店。374 円。

  • 麻婆茄子丼
  • ブラックチョコ
  • ライス

20:10 ビッグエー墨田業平店。203 円。

  • 絹豆腐 (2)
  • ソーセージパン
  • コッペパンジャム&マーガリン

20:20 曳舟の部屋に戻る。さっきの手紙を見たら、今月の追加支給額がゼロだ。 いつもはこの数値が負なので相当額を納めに行くわけだが、今月はどうするのだ?

シャワーを浴びる。半裸のまま PC に着く。白ブリーフ一丁だとケツ周りがかゆいので何かを履いておく。 ホームレス生活最終盤でできた湿疹みたいなものが未だに治らない。むしろ長時間をかけてじわじわと悪化しているフシがある。 皮膚の変色領域が徐々に広がっている……。

明日は午後に面接がある。今晩はダラダラできない。 いちおう昼間に睡眠を多めにとっておいたが、明日の昼まで保つか?

晩飯と麻雀の練習。おナスが美味い。

インターネットに接続して地図とかチェックしようと思うが、ふと携帯電話で口座の明細を確認できることを思い出す。 四月からの家計簿を細かく記入することに成功。

  • 明日の面接場所を確認。最寄りの図書館は……二館行けるか?
  • WebGL の続き
    • rotation.v.glsl: z 軸を中心に反時計回りに回転するように見える。ただし本文でこの後言及されているように、回転中に画面垂直方向につぶれて見える。
    • window-scaled-rotation.v.glsl: 回転してから x 軸方向に 3/4 倍する。するとオブジェクトが正方形になる。
    • window-object-scaled-rotation.v.glsl: さらにこの後 x 軸方向に 4/3 倍してオリジナルの矩形に戻す。
    • orthographic-rotation.v.glsl: 回転が x 軸周りである以外は同じ。
    • naive-perspective-rotation.v.glsl: 素朴な透視図法を実装。テクスチャー座標が正しくなくなる。
    • perspective-rotation.v.glsl: 正統派透視図法を実装。これは OK だ。
    • view-frustum-rotation.v.glsl: さらに再利用性を追求。CG でメシを食うつもりならこの理論を頭に完全に叩き込む必要がある。

これらを全部同時にページ上に描画したくなる。さらに HTML に手を入れる。

23:30 やりたいことが全部できた。ビデオに撮影してとっておく。何かのために Twitter に投稿しておく。 そして妙にアップロードが遅いなと思ったら、FFmpeg で最適化する前の元ファイルを選択していた。途中で気づいてやり直すほうが早い。