コード整理が一段落ついたので、今晩は麻雀の練習をして更かすかね。

極細回線で宝集め。いつでも昭和ライブラリーを構築できる態勢を手許に置きたい。

2:25 消灯。

11:30 起床。洗濯。待ち時間にカップ麺と豆腐とコッペパンを食う。 洗濯物を干す。風呂場の掃除をする。給与明細を確認する。

13:00 PC に戻って服が乾くまで時間つぶし。

14:55 WebGL2 Fundamentals 学習用ファイルのリネームをしておく。その過程で動作していないデモを発見。 GL_INVALID_OPEARTION が出ているので、普通に対応しないとまずい。

15:00 外出。

イトーヨーカドー曳舟店。体温チェック。

スカイツリータウン二階。書店で雑誌チェック。書評しか確認できない。トイレ。

押上駅バス停。バスに乗る。錦糸町駅まで移動。

16:00 ハローワーク墨田。求人検索。直近一週間分で済む。ストックから応募する。 窓口を頼む。先週と同じ職員に応対してもらい、二社分の紹介状をゲット。 ニ階に移動し、携帯電話で両面を撮影。その場でトリムや色補正などの編集をする。 ベンチで少し休憩して退庁。

17:25 オリナス錦糸町二階。ベンチで少し休憩。

18:00 タイトー F ステーションオリナス錦糸町店。MJ プロ卓東風戦 4 クレ。 お座り一発目で操作に違和感を覚える。タッチスクリーン右下の鳴きアリナシボタンがおかしい。 二値でなくてアリ・ドラ鳴き・ナシになっている。なんだこれは。 他のプレイヤーがこの変化をどう評価しているのか気になる。

【SCORE】
合計SCORE:+56.9

【最終段位】
四人打ち段位:十段 経験値:243.6

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

【順位】
1位回数:3(33.33%)
2位回数:2(22.22%)
3位回数:2(22.22%)
4位回数:2(22.22%)
平均順位:2.33

プレイ局数:50局

【打ち筋】
アガリ率:28.00%(14/50)
平均アガリ翻:2.93翻
平均アガリ巡目:11.93巡
振込み率:12.00%(6/50)

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

たくさんアガれて満足だ。次回昇格か。

あまったクレジットでビートマニア段位認定四段をプレイ。自動判定は私の助けにならない。

20:30 カスミオリナス錦糸町店。400 円。クーポン使用。

  • 大判唐揚げ弁当野菜あんかけ
  • ブラックチョコ (2)

20:50 ビッグエー墨田業平店。312 円。

  • 小粒納豆 (3)
  • 黒コッペ
  • 絹豆腐
  • うまいつゆ肉そば
  • クリームパン

21:00 曳舟の部屋。とっとと片付けて入浴。さっきの掃除の漏れはないか。

風呂から上がって PC を開く。晩飯。

22:20 応募作業開始。写真ファイルの転送から。

22:45 応募終了。仕事用の携帯電話の充電が終わらない。

23:50 WebGL でステンシル機能の調査。いちばん基本的なパターンを理解できた。 私なりのコツを記しておく。

  • canvas.getContext のオプションに {stencil: true} が必要。これは省略できない。
  • gl.clearStencil(0); のように、ゼロであってもステンシル初期値を明示しておくといい。
  • gl.cleargl.STENCIL_BUFFER_BIT を含める必要がある。
  • gl.colorMaskgl.depthMask を呼び出すことになるはずだが、各引数は truefalse に等しい必要がある。
  • ステンシルを定義する直前に gl.enable(gl.STENCIL_TEST); を呼び出す。

原点をその内側に含む三角形を描くコードがあるとする。 このとき、次のようにすると三角形をくり抜くことになる:

gl.clearColor(1, 1, 1, 1);
gl.clearStencil(0);
gl.clear(gl.COLOR_BUFFER_BIT | gl.STENCIL_BUFFER_BIT);

gl.useProgram(program);
gl.bindVertexArray(vao);

gl.enable(gl.STENCIL_TEST);
gl.stencilOp(gl.KEEP, gl.REPLACE, gl.REPLACE);
gl.colorMask(false, false, false, false);

// Define stencil
gl.stencilFunc(gl.ALWAYS, 1, 0xffffffff);
gl.uniformMatrix3fv(matrixLocation, false, m3.scale(matrix, 0.8, 0.8));
gl.drawArrays(gl.TRIANGLES, 0, 3);

// Draw geometries
gl.colorMask(true, true, true, true);
gl.stencilOp(gl.KEEP, gl.KEEP, gl.KEEP);
gl.stencilFunc(gl.EQUAL, 0, 0xffffffff);
gl.uniformMatrix3fv(matrixLocation, false, matrix);
gl.drawArrays(gl.TRIANGLES, 0, 3);
gl.disable(gl.STENCIL_TEST);

次回は星型にくり抜いたり、3D で考えたりする。