2013-05-31 (金)
うどん食べるために神保町まで行った.
この日記はフィクションです.登場する人名・団体名・地名・職業などはぜんぶ架空のものです. なので実際のものとは何も関係がありません. それから,写真のように見える画像はCGもしくは念写によるものです.
お弁当もらえるらしいので,早く会社に行く日.
朝からGLSLのシェーダ書いたりする.WebGL凄いな.
そういえば,texImage2Dにvideo要素を渡せるのを知ったときは再生中の映像の書き込み先がテクスチャになって,勝手に更新されることを期待したのだけど,さすがに毎フレーム更新してあげないとダメだった.そして,videoにはフレーム単位で何かする機能が無いので,タイマーで適当にやる必要があって少し残念.
memo
ChromeのNPAPI.http://kinjouj.hatenablog.jp/entry/20130124/1359005904
あれ,WindowsもNPAPI使ってサポートしてる? https://github.com/benvanik/vr.js
vr.jsのソースを少し読んでみる.
Oculus Riftで遊ぶための肝となりそうなのは,lib/vr.jsのWARP_FRAGMENT_SOURCE_に書かれているフラグメントシェーダですね.
ここは難しいことをやっているわけじゃなくて,レンズの中心からの距離に対する補正用の係数を適用してテクスチャ座標を計算しているだけみたいです.
ただ,補正値がu_hmdWarpParam経由で渡される4次関数なのだけど,係数がどうやって計算されて出てきたものか良く分からない.何かの近似関数っぽいな.光学系に詳しい人にとっては常識なのかも.
あと下のWARP_CHROMEAB_FRAGMENT_SOURCE_ では色収差(?)も補正していると書いているけど,こっちは良く見ていないです.
今日,ドワンゴの川上会長の結婚式らしいですね.おめでとうございます.
WebGL,なんだかたまに表示がおかしい気がしたのでCanvasだけでがんばるのも試す.細かく分割してdrawImageすればポリゴン描画できるけど現実的なのかな….
WebGLでvideoをテクスチャとして扱うメモ:テクスチャをvideoにすること自体は,texImage2D()がvideo要素を受け付けてくれるので簡単.texImage2Dは毎フレームテクスチャを転送しなおさないといけない.
NPOT(2のべき乗でないサイズ)なテクスチャは基本的にはダメ.ただし,MIPMAPを使わずに,かつCLAMP_TO_EDGEにしておくと任意のサイズのテクスチャが使える.そうできないなら,いったん適当なサイズのCanvasにコピーする必要がある.
ブラウザでOculus Riftのセンサにアクセスするのどうするのが良いんだろう.vr.jsはあまり使えなさそうだったので代案を考えないと.普通にセンサにアクセスるるアプリを立ち上げて,そこからjavascriptでアクセスできるようにしておくのが現実的かなぁ.DeviceOrientation Event互換の何かを作ってしまうのがよさげ.
とても眠い……昼寝してしまいたい.
そろそろ礼服を発掘してカビてないことを確認して,出かける準備をしないと.ワイシャツが絶望的なことになっている気がする...
六本木.ご飯食べたり,アニメ見たり,ご飯食べたり,ピザ食べたり.
safiiの家でOculus Riftで遊んだりアニメ見たり.sangoも東京に来た.
普通に触ったことはあるのだけど,今日は案の定変な方向に.
色々工夫してOculus riftでアニメ見てみたけど,これは良いかも.本格的にOculus用のプレイヤー作る必要がある気がしてきた.Oculusで動画再生している人を探したけど,ただ動画を2つ並べてるだけで凝ったことやってる人は見つからない感じ.
Nexus7 + Oculus riftのレンズ + YouTubeにあるOculus動画で試した感じだと,Nexus7にアタッチできる似たような機器は安く作れそう.今から注文しても届くのは8月とからしいので,そうなると製品版待ちたくなることを考えると,とりあえずNexus7をベースに開発用の何かを作っとくのは良いのかも.
WebGLのテクスチャにvideoが使えたのでだいぶ夢が広がった.
memo
https://github.com/benvanik/vr.js/tree/master/experimental/usb-driver
https://github.com/benvanik/vr.js
ドライバインストールしないで使えたと思ったらHIDなのか.いや,確かに正しい意味でHIDなのだけど...
独自仕様のHIDは簡単に実装できてドライバ開発が不要なので趣味でUSB遊ぶときは良いのだけど,こういうとき困るな.
ニコニコPlayer(仮)をアップデートした.
AndroidのViewのlayout_weightを指定するとき,うっかりサイズをfill_parentにしてたりすると,weightに指定した比率と逆になるので何が起きてるのか調べてみると,一旦Viewに指定したサイズで配置したと仮定して,余白分を各Viewに割り振って伸ばすということをしているのか.fill_parentのViewが二つあると,余白が負の値になって,weightの値に対応した分だけ縮小されるという挙動をしていた.
LinerLayoutのorientationを動的に変更する場合かつ,weightを指定したViewが2つのときに,あえてwidthとheightともにfill_parentにしておけば向きを切り替えたときにLayoutParamsを変更しなくて便利かもと思ったけど,きっと仕様外の挙動なので使えなさそう.
memo
https://www.iijmio.jp/info/iij/20130520-1.html
IIJmioのsimしばらく使ってみて,今のところ快適なので一枚欲しいのだけど,プランで悩む.ファミリーシェアプランに変更しようか,どうせそんなに使わないので新たにミニマムスタートプランを契約するのが良いか.
ファミリーシェアプランでsimを2枚もつより,ライトスタートプラン + ミニマムスタートプランの方が,速度制限されずに使えるデータ量の合計が多くなるの不思議...
久しぶりにAndroidアプリいじったりする日.休みの日にまともにコード書くこと自体が一ヶ月ぶりくらいな気がする.ゴールデンウィークに体調崩したのが一番いけなかった...
一度Android Studioにしてみようと思ったけどまだ色々不便なのでEclipseに戻る.
掃除とか買い物とか.
Android Studio使ってみる.最近は仕事でも IntelliJ IDEA 使うことが多くなってきてるので,そのうち移行しよう.最初に起動するとき,なかなか反応がないので心配になったけどしばらく待ってたら起動した.あと,リソース編集したときのR.javaの更新がなかなか反映されないことも多い気がする.プロジェクト作るときにActivityの種類選べる用になったのは最初は楽になるのかも.
秋葉原まで行ったり,本屋巡ったりする日.
code jam
気づいたら終了40分前だったけど,AとBのsmallは何も考えなくてもいけそうなので,やってみる.Cもそんな難しくなさそうだけど,問題読んでる時間が無かった.
memo
体調はだいぶ良くなっているのだけど,頭痛いしのど痛いし体だるいしでかなりつらい.
また熱が出てきたので,念のため仕事休んで一日寝てることに.
風邪治らない...ほとんど何も出来ず.
昨日の薬は1日分しかもらってなかったので早めに帰ることにして病院行く.喉が痛い.喉のほうは耳鼻咽喉科で見てもらったほうが良いかもといわれたので耳鼻科探して行ってみる.薬色々もらう.
ちょっとしんどいので病院いく.痛み止めと抗生物質もらう.風邪なのか良くわからないので明日もう一度行かないとかなあ.
気仙沼まで行って寿司を食べる日.震災から2年たってるのにまだ何もない場所が多いですね……どうなるんだろ.
すし屋を探したけどよさげな所が無くて,気づいたらかっぱ寿司に居た……何を間違えたのか.気を取り直して,仙台方面に戻る途中で夕食に海鮮丼とかウニとか食べる.
風邪はかなりよくなった.
tester7,hidetobara,michiueと東北方面へ.家を出る直前に体温測ってみたら38℃あったけど,時間無かったし何かの間違いだと思ってそのまま出る.
1年ぶりくらいに車の運転をした.
やっぱり風邪っぽくてつらい.ホテル着いた後は薬飲んで寝ていた.
熱っぽい.明日から出かけるのだけど大丈夫かな….