519 日目(曇り)ご無沙汰だった図書館での作業
元麻雀プロが賞金総額200万円の大会で入賞を目指す配信【雀龍門M】 - YouTube: 堀内プロ視点のオンライン麻雀東風戦。尺が長いのもあって大事にとっておいた。 らしくない凡ミスが出てチャットで総ツッコミを食らっていたりして、ピリピリとしているわけではない。 リー棒をカスタマイズできるようで、ラムネとか三色だんごとかが卓上に置かれる。
2:15 消灯。
10:50 起床。月曜の朝は大体ダメだが、昨日歩き回ったのを言い訳にできる。 洗濯機を働かせてメシを食う。納豆とおにぎり。PC を開いて時間つぶし。
洗濯物を干して PC を鞄に収納して外出。
イトーヨーカドー曳舟店で体温チェック。
12:00 八広図書館。キャレルの一席を占拠。この PC を開いて Wi-Fi で重要なファイル更新作業。 週刊新潮と週刊文春もチェックしておく。インストール時間が長いので案外読み切れる。 みうらじゅん先生のエッセイで雲母の特性を一つ覚える。
- シン・ミカド事件簿2021(Naked Loft) - YouTube: トークショーにしてはカメラワークが細やか。トーク自体も生々しくて全部は聴けないようだが良さそうだ。
- 更新作業
- WSL2
apt upgrade - Python
conda update,pytube - VLC media player
- VS Code とその拡張たち (Awesome Emacs Keymap, markdownlint, CMake Tools, Jupyter, Pylance, Python, reStructuredText)
- FastStone Image Viewer
- Windows 本体。これがボスか。インストールの進捗が著しく鈍い。速度が一定でないのはわかった。
- WSL2
- 夜へ急ぐ人~志村けん - YouTube: 高速な回線で観るとひと味違う。
- Point Calculation Method of Mah-jongg: Twitter のフォロワーサンのリンクが PDF だったので、閲覧を後回しにしているもののうちの一つ。読む。 読んでみると麻雀の手役回りがエレガントに定式化されていて感服する。私ならここには行かれない。
14:15 全然終わらん。図書館を出る。
14:35 曳舟の部屋に戻る。PC を戻しておやつ休憩。
- WebGL2 Environment Maps (reflections)
- 前回のキューブマップの画像を実写の風景に差し替える。
- 反射ベクトルを導入する。照光処理の応用問題。コードはスポットライトの回のそれに近い。
断片シェーダーで GLSL の関数
reflectを利用する。定義は本文にあるように、 あるベクトルに対する指定のベクトルの対称かつ逆向きとなるベクトルを返す。 - 環境マップ用の法線とは別に、幾何としてのキューブに対する法線も必要。
-
コード書き換え。まずは
createTexture直後の処理を書き換える。 画像ファイルをローカルディスクに保存しておく:bash$ wget https://webgl2fundamentals.org/webgl/resources/images/computer-history-museum/{neg,pos}-{x,y,z}.jpg - 頂点シェーダーで
gl_Positionとは別に世界座標系の頂点位置を出力する。 - 断片シェーダーが世界座標系のカメラ位置を必要とする。
- キューブ自身の本来の法線を設定するコードを復活?させる。
15:40 完成。まだ前座のようだ。次回が本番か?
Windows Update がまだ終わっていない。と思ったら再起動の案内が表示される。 再起動してセッションを再現したら外出の時間になる。
16:20 外出。スカイツリータウン二階。トイレ。書店。
バス停に移動。乗車して錦糸公園へ。オリナス錦糸町二階ベンチで時間つぶし。 日が暮れるのがだいぶ早くなっている。この時間帯で外は闇とは。
18:00 タイトー F ステーションオリナス錦糸町店。MJ プロ卓東風戦 5 クレ。 日本プロ麻雀協会矢島亨プロと同卓したり(大きく点棒を失った次局のリーチ一発ツモハイテイ狙いは度肝を抜いた)、 ラス目で親倍をアガったりと目まぐるしい時間になった。
【SCORE】
合計SCORE:-56.4
【最終段位】
四人打ち段位:十段 経験値:106.5
【9/27の最新8試合の履歴】
1st|-----*--
2nd|------**
3rd|--**----
4th|-*--*---
old new
【順位】
1位回数:1(14.29%)
2位回数:2(28.57%)
3位回数:2(28.57%)
4位回数:2(28.57%)
平均順位:2.71
プレイ局数:33局
【打ち筋】
アガリ率:21.21%(7/33)
平均アガリ翻:4.43翻
平均アガリ巡目:10.57巡
振込み率:21.21%(7/33)
【9/27の最高役】
・倍満
・跳満

プロ卓からの追放が目前に来ている。ここで踏ん張りたい。せめて今月中は土俵から足を外したくない。
あと気分転換にビートマニア。段位認定五段はもう AA すら出ない。この辺が私の真の実力段位だろうな。
19:55 カスミオリナス錦糸町店。416 円。クーポン使用。
- オクラ茄子丼
- イカの唐揚げ
- ブラックチョコ
- ライス
20:25 ビッグエー墨田業平店。246 円。小銭がなくてレジで失礼した。
- 絹豆腐 (2)
- 小粒納豆 (3)
- ハンバーガー
- コッペパンブルーベリー
20:35 曳舟の部屋に戻る。子供携帯電話の充電。シャワーを浴びる。風呂から出て PC だ。 VLC のアップグレードをしたせいか、音が良くなった気がする。
いつにもましてインターネット回線が細い。
- WebGL2 SkyBox
- まず skybox 単体のシーンを完成させる。前回の逆をやる。カメラは箱の中にいる。
- ${[-1, 1] \times [-1, 1] \times [-1, 1]}$ の幾何を定義する。
これがキャンバスの全体を裏から埋め尽くす。
それに伴い
gl.vertexAttribPointerの実引数を修正。 - 恐ろしく単純な頂点シェーダーを書く。
gl_Position.z = 1.0;を明示する必要があるか検証したい。 - 断片シェーダーは今までになかった変換をやる。同次座標を通常座標に変換するのを自分で書く。
キューブマップゆえ、
texture呼び出しに与える法線ベクトルを計算する。 drawSceneを書き換える。今回カメラが動く。viewMatrixの並進部分をクリアするが、意味があるか検証したい。- 解説されていないが
gl.depthFunc(gl.LEQUAL);は必須。これを手抜くと画面が出ない。
- ${[-1, 1] \times [-1, 1] \times [-1, 1]}$ の幾何を定義する。
これがキャンバスの全体を裏から埋め尽くす。
それに伴い
- ここまでのコードを実行する。ビューポートは正方形でないとダメだろう。 グラディウス 5 の空中戦の背景感がある。
- 次に環境マップのキューブを追加する。何を考えているのだ。
twglライブラリーを解禁する。- 前回のシェーダーソースを追加する。プログラムを二つビルドすることになる。
twglのおかげでバッファーと VAO の定義が楽になる。テクスチャーも。drawSceneでは追加キューブ、スカイボックスの順に描画する。
- まず skybox 単体のシーンを完成させる。前回の逆をやる。カメラは箱の中にいる。
- [配信テスト]近所のおっさんとBPL battleなど by 1048 [beatmania IIDX bistrover] - YouTube: BPL の解説者がビートマニアを自らプレイして解説の練習をする。
23:45 スカイボックス終了。デバッグに手間取る。