WebGL Fundamentals をもう一節だけ読んでビデオを観て寝るか。

  • Techniques
    • 3D
      • Picking
        • gluPickMatrix のようなものは存在しない。
        • ID を使ってレンダリングするというふうに考える。
        • マウスオーバーで点滅するというデモは初めて目にする。せいぜいハイライトだろう。
        • ピックもツーパス。

1:30 就寝。

7:05 起床。納豆と冷や飯を食う。冷えていたほうが安全だ。出勤。

7:45 管理人室。今日はゴミ出しがないのだが、ゴミ部屋に積まれているゴミの量も質もまともじゃない。 一時間つぶして処理。さらに灰皿代わりにされた缶の処理。もうクタクタ。蒸し暑い。

10:00 作業終了、撤収。イトーヨーカドー曳舟店で体温チェックと手洗い。

10:30 曳舟の部屋に戻る。このあと床屋に行きたいこともあり、シャワーを浴びておく。 風呂から出て白ブリーフ一丁のまま PC 作業に入る。

  • Text
    • Text - HTML
      • キャンバスの上に HTML の何らかの要素を CSS の能力でオーバーレイすればとりあえずはテキストを描ける。
      • やりたいことが 3D シーン内にある何かに対して相対的な位置にテキストを描くことならば、 射影計算を JavaScript 内でやることになる。
    • Text - Canvas 2D
      • キャンバスの getContext("2d") によるテキスト描画でもいい。
      • DOM ではなくこれを使う利点は、テキスト以外にも描画できるものがあるということだ。
      • デモでは矢印を lineTo で描画している。引数の値が固定であることに注意。
    • Text - Textures
      • テキストの描かれたテクスチャーを作成する方法も当然考えられる。 そして、それを動的に生成する方法もあり得る。
      • 背景色を消すために OpenGL のブレンド機能を有効にする。
      • The most common solution for pretty much all transparent rendering is to draw all the opaque stuff first, then after, draw all the transparent stuff sorted by z distance with the depth buffer testing on but depth buffer updating off.

      • gl.depthMask 投入
      • 中盤のアルファブレンドに関する議論は難しい。
    • Text - Using a Glyph Texture
      • 動的に内容が変化するテキストを描画することは、コストがかかる。
      • 最初のコード片を見るだけで本節の主題が何になるのか理解できると思う。
      • 予想通り、フォントテクスチャーを導入する方法を採る。
      • 最後の 3D 座標を描画するデモはとても参考になる。

11:50 早いがおやつ休憩。

12:55 回線が細くてインターネットが全然見えなくなる。寝る。

15:35 起きる。時間が微妙になってきた。リュックサック装備で外出。 押上一丁目バス停まで移動。バスに乗って錦糸公園前で降りる。雨がそろそろ降ってくるだろう。

16:00 ホープ錦糸町店で散髪。900 円。クーポン使用。

16:40 ハローワーク墨田。トイレ。受付で窓口を依頼。すぐに通される。 求人票の束の有効期限が古いほうから一社選んで紹介状を受け取る。 二階に上がってベンチで紹介状を両面とも携帯電話で撮影する。部屋だと照明が強くて難しいのでここで済ませる。

17:15 鐘の音とともに退庁。オリナスへ向かう。一階ベンチで携帯電話をチェック。

17:55 タイトー F ステーションオリナス錦糸町店。MJ プロ卓東風戦 5 クレ。 また地獄モードに入りつつあるようだ。最終ゲームの放銃などは予定されていたかのようなツモだった。 ドラの隣の牌を対子で持っていて、ドラをツモったので両面搭子に変化させたら、先に両面待ちで張っていた他家にロン。 どうせオーラスでラス目だったから切ったのだが、絵に描いたような放銃だった。

【SCORE】
合計SCORE:-98.9

【最終段位】
四人打ち段位:覇王 幻球:10

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

【順位】
1位回数:1(12.50%)
2位回数:2(25.00%)
3位回数:2(25.00%)
4位回数:3(37.50%)
平均順位:2.88

プレイ局数:34局

【打ち筋】
アガリ率:14.71%(5/34)
平均アガリ翻:2.80翻
平均アガリ巡目:11.60巡
振込み率:20.59%(7/34)

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

19:50 カスミオリナス錦糸町店。696 円。いつもの野菜ジュースが品切れで高く付いた。クーポンゲット。

  • 麻婆豆腐丼
  • とり天 (3)
  • ブラックチョコ (2)
  • ライス
  • 野菜ジュース (900)

20:15 ビッグエー墨田業平店。236 円。

  • 絹豆腐 (2)
  • ハムマヨパン
  • コッペパンホイップ&チョコ

20:25 曳舟の部屋に戻る。食品を収納してからシャワーを浴びる。バリカンで飛んだ髪の毛が流れ落ち切らない。

20:45 PC に戻る。晩飯を食ったら求人に応募。テザリングがすこぶる不調。 HTML ページを一つ表示するまでに CPU 雀士との東風戦ワンゲームが終わるのではないか。

  • Textures
    • Ramp Textures
      • 一次元のテクスチャーを採用する。
      • gl.NEAREST を指定すると補間をしなくなるのでのっぺりとした色合いになる。
      • 一般的には、シェーダーの機能を選択するための条件式は避け、機能ごとに異なるシェーダーを作成する。
      • 最後のデモのオプション stripes は、もしかするとゼブラマッピングではないだろうか。
  • GPGPU
    • GPU をピクセルの描画以外の用途に使うこと。
    • テクスチャーデータを単なる二次元のデータとして処理する。
    • gl_FragCoord は意外に見落としていた。
    • 浮動小数点テクスチャー再び。しかしこれは携帯電話では使えないようだ。
    • 直線と点の距離計算なら自然なコードでも遅くはないと思うのだが。
    • GPU からデータを読み返すのは遅い。
  • Tips

あら時間切れだ。