■ 2012年09月06日 [OpenGL][GLFW] (1) GLFW で OpenGL を使う
GLUT の現状
OpenGL は「プラットフォームに依存しないグラフィックス API」ですが, これと稼働するプラットフォームとのインタフェースの部分はやはりプラットフォームごとに異なっていて, そのあたりの実装はそれなりにめんどくさいものです. そのために, そこをうまくラップするツールキットがいくつも提案されています. 中でも GLUT は, OpenGL を作ったところの人が作った, 使いやすいツールキットです. また GLUT はマルチプラットフォームに対応しているため, これを使ったソースプログラムは Unix / Linux, Windows, Mac OS X の間で共通にすることができます. GLUT は OpenGL の初期に作られたものですが, OpenGL の学習や OpenGL を使った簡単なプログラムの作成を手軽に始めることができるため, 今でも有用なツールキットです.
■ 2012年09月04日 [OpenGL][GLSL] Screen Space Motion Blur
夏が終わる
まだ暑さは残っているものの, 今頃の空は, なーんか切ないものを感じますね. 子供の頃の夏休みが終わってしまった喪失感の記憶でしょうか. Twitter で「パトラッシュ, ぼくもう疲れたよ」ってつぶやいたら, その直後においでになったお客さんに「パトラッシュってつぶやいてましたよね」と言われてしまいました. ああ, 夏はもう終わってしまうんですね…
■ 2011年12月07日 [OpenGL][ゼミ] ゴムシミュレータ(2)
就職活動
ご存じのとおり, 12月1日から2013年卒の就職活動が始まりました. 大学生の就職活動の現状に関してはいろいろな議論があるものの, 当事者としては現状を甘んじて受け入れざるを得ないのが実情です. 入ってくる情報はネガティブなものばかりで, すべてを真に受けているとこちらもネガティブな方向に向いて行きそうです. 何かこう, 景気のいい話はないもんでしょうかね. ただ, 現状の至る所に様々な「ミスマッチ」があるのではないかという印象があります. そして, その中のいくつかは, ちゃんと裏を取った「リサーチ」の不足が原因になっているように思えます. そのあたり, 大学もいろいろ努力や工夫を積み重ねていますが, 私自身も学生さんが向いている方向に分け入って, ちゃんとリサーチしなければいけません. ので, 情報ください.
■ 2011年11月29日 [OpenGL][ゼミ] ゴムシミュレータ(1)
忙しい
まあ, 他の先生の忙しさを見ていたら大学に張り付いている私なんぞの忙しさなど屁みたいなもんだとは思いますが, それにしても自分的には結構限界に近いところまで来ている気がします. 元来コンテキストスイッチに時間がかかる質なのに, なんかバラバラのことが同時に進んでいて本当にキツいです. そんな中, 課題というか仕事を投げてほったらかしになってる学生さんのプロジェクトが, どれも自発的に動いてくれて本当に助かります. みんないい子すぐる. てゆうか, 私が下手に手を出さない方が何事もうまくいくんだよな orz
■ 2011年11月25日 [OpenGL][GLSL][ゼミ] いい加減な視差画像生成
もうすぐ年末だ
どうしよう. もうすぐ年末だ. いろいろやばい. やばいやばいやばい. 危機感は無いわけではないけどマイペースをどうしても崩せなくて, いろんなことを先送りしています. そういえば, ようやく寒くなってきて, 年末っぽい雰囲気が日に日に増しています. と思ったらいきなり風邪を引いてしまい, 今日はなかなかお聞き苦しい講義になってしまいました. Winged Edge Data Structure の説明をしていて「右ウィング, 左ウィング」とか言った後「北ウィング, 南ウィングじゃないですよ, 中森明菜は知らないと思いますけど」みたいなことを口走ってしまいましたが, やっぱり通じませんでした.
■ 2011年11月21日 [OpenGL][GLSL] Transform Feedback と Vertex Texture Fetch
大学祭
「昨日一昨日はうちの大学祭でして」って去年書いて, もう一年経ったかと思うと月日の流れの速さに慄然としてしまいますが, この間にブログを8個しか書いてないという事実にも気付いて再び恐れおののいている今日この頃であります. この間, 何の成果も出してないというのは立場上非常にまずいということは重々自覚しておりますが, 決して怠けていたわけではなく, ただひたすらにそれなりに忙しかったという言い訳だけは申し添えさえて頂きたいと存じます.
■ 2011年08月25日 [メモ] Vine Linux 6 への移行
Vine Linux 6
Vine Linux 6.0 がリリースされました.Project Vine および協力者のみなさま,本当にありがとうございます.お世話になりながらなんの協力もしないで申し訳ありません.私も手元のマシンを移行しました.演習室のマシンも更新できないか,現在検討しています.
■ 2011年08月18日 [OpenGL][メモ] Transform Feedback
Lion
Mac OS X Lion では OpenGL のバージョン 3.2 が使えるものの,それは lagacy な API を削除した core profile なんですね.そのため後方互換性が必要な場合は,バージョン 3.2 の compatibility profile ではなく,「legacy なバージョン」を使うようにピクセルフォーマット属性を設定するんですね.だから legacy な API を使っている GLUT は,この「legacy なバージョン」すなわちバージョン 2.1 以前を使うようにピクセルフォーマット属性を設定していて,バージョン 3.2 に切り替える方法は(official には)提供されていないんですね.うーん,さてどうしよう.誰か core profile で動く GLUT を作らんかな.
■ 2011年08月11日 [OpenGL][メモ] OpenCV によるカメラ入力と OpenGL のスワップバッファ
暑い
なんてもんやないですね.日差しに重みすら感じます.眩しいです.非リアにはつらいものがあります.加齢とともに直射日光に当たると日焼けする前に湿疹ができてしまうようになりました.もう闇の中で生きるしかないのかもしれません.子供と一緒に自転車で片男波海水浴場まで通っていた頃が懐かしいです.ところで,数日前まで節電対応で空調なしで頑張ってたんですけど,PC がついに音を上げてクラッシュするようになってしまったので(と言い訳しながら)空調かけてます.みなさまごめんなさい.来週はお盆の一斉休業です.その間に少しでも時間を稼いでおかないと,色々詰みそうです.まー,私なんぞ他の先生に比べりゃあ暇なもんなんですけど orz バンクーバーに行きたかったぜい.
■ 2011年03月24日 [OpenGL][GLSL] シェーダで Point Sprite
大震災
東北地方太平洋沖地震で被災された皆様, ならびにご家族・関係者の皆様, そしてこれに心を痛めておられるすべての皆様に, 心よりお見舞い申し上げます. どうしてこんな目に遭わなきゃならないんだという怒りの持って行き場も無く, 「お見舞い」という言葉すらも空虚に思えて, ただただ空を仰ぎ見るばかりです. 今日, うちの大学では「わかやま自主研究フェスティバル」というイベントがあったのですが, その開会式の冒頭でも黙祷の時間がとられました. 私はどうしても下を向けず, 空に登られた方々を見送る気持ちで顔を上げたまま黙祷していました. 「いつかくるとは思っていたが今日くるとは思わなかった」という警句がありますが, それにしてもあまりにも過酷です. この負債は他人任せにせず, 我々日本に住む者皆が負うという覚悟をしたいと思います.
■ 2011年02月21日 [OpenGL] ビルボード
卒研発表だー
もう大変なことになってますけど, とにかくなんとかなりそうです. よかったよかった. まだ終わってないけど. 発表練習だけ聞いてると, まともな研究をしているように聞こえる! いや, ちゃんとまともな研究をしてるんだけどね, みんな. 卒業研究/卒業論文無用論 (博士前期ですらいらんという話もでてるけど), 私は卒業研究やってる学生さんを見るのが好きだなぁ. 頭かきむしりながら, 答えが用意されていない問題に取り組むあたり. 自分で問題を見つけて, 自分なりの解決法を考えるっていう楽しみ (苦しみ?) は, どこかに用意されている答えを見つけることでは得られんよね.
■ 2010年12月08日 [OpenGL][GLSL] マルチプルレンダーターゲット
遅延レンダリング
学生さんに向けたフレームバッファオブジェクトの説明の続きです. どうも口で説明するより文章に書いた方が理解してもらえそうな気がするので, 目を "ひんむいて" よく読んでね. 君がやろうとしているように, レンダリング結果の画像を事後処理でコネコネしたければ, レンダリング結果を画面に出力せずに一旦どっかにとっておいて, それを使ってもう一度レンダリングする必要があります. そういうテクニックを遅延レンダリング (deferred rendering) といいます. んで, レンダリング結果を CPU を介さずに GPU 側にとっておく機能がフレームバッファオブジェクトです.
■ 2010年12月07日 [OpenGL] フレームバッファオブジェクトの使い方あげいん
フレームバッファオブジェクト (Framebuffer Object, FBO)
フレームバッファオブジェクトの使い方については, キューブマッピングで使ってみたり, シャドウマッピングで使ってみたり, デプスバッファを表示させてみたりしてきていますが, どうも使い方がよくわからんとおっしゃる学生さんのために, もういっぺん書いときます. じーっくりと読んでね.
■ 2010年12月03日 [OpenGL][GLSL] 似非 SSS (Subsurface Scagttering)
就職氷河期
M2 が二人売れ残ってます. 他の二人がさっさと決めてくれたので意外と調子いいなと思ってたんですが, 残る二人がなかなか決まりません. うち一人は早くから研究成果を出していた人なので悔しいです. それに就職活動が長引いたせいで, せっかく積み上げてきた成果がしなびてしまいそうです. なんとかならんかな.
■ 2010年11月22日 [OpenGL][GLSL] SSAO (Screen Space Ambient Occlusion)
大学祭
昨日一昨日はうちの大学祭でして, 「おお, 本学にもリア充は多いのであるな, これらが皆爆発すれば本学は壊滅的な状態になるであろうな」と不穏なことを妄想しつつ和歌山ラーメンをはじめとする屋台の出し物を食い散らかしておりましたところ, うちの学生さんたちのグループの OpenCV 他の技術を応用して作成したインスタレーションの展示に行き当たりました. 学生さんたちがこういう物を作っていたことを全然知らなかったのですが, 自分たちの発想をこういう風に形にしようと思ってくれたことを知って, とても嬉しく思いました. うん, みんながんばれ. 思う存分やってくれ. 作品に頭ぶつけて壊しそうになってすまん.
■ 2010年08月25日 [OpenGL] MFC によるダイアログベースのアプリケーション(2)
昼食
昨日, 久しぶりに昼に食堂に行ったら (いつもは弁当なので), ある先生が研究室の学生さんと楽しそうにしゃべってました. うーん, 私も昼食に学生さんを誘わんといかんな. 私の師匠もそうしてたし (って, この話, 以前にも書いたな). でも, ま, いいや. 今度の飲み会でおしゃべりしよう. 私の演説は極力控えるようにして.
■ 2010年08月20日 [OpenGL] MFC によるダイアログベースのアプリケーション(1)
MFC って
実は私, 使ったことないんです. それに, いまさら MFC というのもなんだかなあとは思います. 実際, 某所で UI 用のツールキットって何がいいかなって聞いてみたら Qt 一択みたいに教えてもらいました. でも私, 自分の Linux マシンから KDE 関係排除しようとして Qt も全部消しちゃったくらい Qt には近づかんとこうとしてました. んで, 今回なぜか MFC を使っちゃったんですね. いろいろ事情もあったんですけど(でもその目論見は失敗したのですけど). で, そのプログラムを以前に私自身が FLTK 使えばってアドバイスした学生さんに送っちゃったから, 罪滅ぼしに勉強した MFC の使い方をメモっておきます. もちろん, 間違ってるところがあると思います.
■ 2010年01月31日 [OpenGL][GLSL] ゼブラパターンの映り込み
曲面の評価
風邪ひいて寝転がっていてふと思いついたのでメモ.原田研のひろぴこさんが曲面を評価するときに縞模様 (ゼブラパターン) の映り込みを表示してましたけど, これは GLSL による環境マッピングのフラグメントシェーダのプログラムを以下のように書き換えるだけで実現できます. (2月1日 車の画像を追加)
■ 2010年01月21日 [OpenGL][GLSL][ゼミ] 第18回 レイキャスティングふたたび
聖子と吉三郎
という少女マンガがありました. 作者は沖倉利津子さんという方です. 先日, ある大学の有名な先生がこのマンガについてつぶやかれまして私はたいそう驚いたのですが, 私もこの時代の少女マンガについては結構熱く語れるんじゃないかと思います. でも, すでにそんなことをしたらとっても恥ずかしい年齢なので, しません. それでこのマンガですが, 中学生の主人公が本屋に CQ 誌を買いに行こうとしたり (このことは後に CQ 誌上でも話題になりました), フォックスハンティングしたり, 彼のリグが私も使っていた TS-600 だったりしたので (中学時代の私の愛機は RJX-601 でしたが), めちゃくちゃつぼにはまりました.
■ 2010年01月13日 [OpenGL][GLSL][ゼミ] 第17回 レイキャスティング
■ 2010年01月11日 [雑文] ラスタライザ野郎の独り言
余談が長い
実は学生さん向けに GLSL でレイキャスティングのサンプルを作ったのだが, その説明を書いているうちに余談の部分が異様に長くなってしまったので, 先にこちらを掲載することにした. これは学生さん向けではなく自分の独り言なので, 文体がいつもと異なっている. また, 思い出の部分は 26 〜 27 年前の記憶をもとに書いているので, 正確ではない. 加えて, 私はコンピュータのアーキテクチャの知識を持っていないので, おそらく思い込みや間違いを含んでいる. もしかしたらむちゃくちゃ書いているかも知れないので, 間違いがあれば指摘して頂けるとありがたい.
■ 2009年12月31日 [OpenGL][GLSL][ゼミ] 第16回 バーテックスブレンディング
大晦日
なんだかんだ言ってる間に, 大晦日になってしまいました. B4 & M2 の方は, 論文の進捗は具合いかがでしょうか. 研究内容についてはあんまり心配していませんけど, プログラムにこだわって文章書くのが後回しになっていないかが心配です. でも, こういうことを大晦日に書いたりして, 私もしかして鬼? ところで, 私は昨日の夜, 家族と一緒に「のだめカンタービレ」を見に行ってきました. 結構面白かったです. 焦っている (かも知れない) 学生さんを尻目にお気楽やってる私もしかして鬼?
■ 2009年12月25日 [OpenGL][GLSL][ゼミ] 第15回 ポイントのアニメーション
あああまた年末だ
夏休みに何か始めて気がついたら年末になっているという状況には前にも陥った記憶があるのですが, 考えてみれば毎年こういうことを繰り返した挙句に除夜の鐘を聞いているわけで, このまま何の進歩もなく老いさらばえていくのかと半ばあきらめに似た感情を抱くとともに, 人生の悲哀を感じている今日この頃です.
■ 2009年10月15日 [OpenGL][GLSL] デプスバッファを使ったボクセル化
卒業生の進路
この間, 卒業生から「自分がリードプログラマを務めた」というゲームソフトが送られてきました. もうね, 鳥肌が立ちましたよ. 自分のやっていることが学生の皆さんにとって役に立っているかどうか正直言って自信が無かったんですけど, 本当にそういう仕事してるんだ. すげー. みんなあんまり連絡くれないし, くれても「元気です」程度で近況が今ひとつわかんないんだけど (心配な人もいるし), みんなそれなりにやってるんだろうな. "No news is good news" だと思っておこう.
■ 2009年10月07日 [OpenGL] とっても簡単なボクセル化
納豆襲来
長男が仕事で納豆を作っているので, 少しでも売り上げに貢献しようと, その納豆を買って毎日食べています. 本当に毎日毎日食べています. 納豆はおいしいですよ. 健康にもいいですし. でも, 毎日毎日毎日食べ続けていると, 少しばかり飽きてくることもあります. それで納豆チャーハンにしてみたり, 油揚げに包んで巾着にして焼いてみたり, いろいろ工夫しながら毎日毎日毎日毎日食べています. でも, チャーハンに納豆を入れると, チャーハンのパラパラとした食感が失われてしまいます. 巾着は, 納豆だけでもダイレクトに食べられるうちの奥さんならおいしくいただけるのでしょうけど, 納豆を食べると言う食習慣自体がなかった私には少しつらいものがあります. 本当に毎日毎日毎日毎日毎日…ああ, そうだよ, 私は納豆が嫌いなんだよ. もう, どうしよう. 納豆を毎日毎日毎日毎日毎日毎日飽きずにおいしく食べられる方法はないでしょうか.
■ 2009年09月22日 [OpenGL][GLSL][ゼミ] 第14回 頂点座標の生成
つゆ
島根県松江市のマルヤしょうゆは美味しいです. ただ, ぽん酢しょうゆとめんつゆの瓶が同じなので, 先日子供がしらす丼にぽん酢しょうゆをかけようとして, 間違えてめんつゆをかけてしまいました. しかし, 食べてみると意外と美味しい! ということで, 結局全部たいらげていました. まあ, そばつゆは天つゆとあんまり変わりませんから, 組み合わせとして不自然ではないと思います. 機会があれば, しらす丼にめんつゆをかけて食べてみてください.
■ 2009年09月21日 [OpenGL][GLSL][ゼミ] 第13回 テクスチャ座標の生成
テーマソング
スーパーのオークワのテーマソングは思い出せても, イズミヤのテーマソングが思い出せないという現象が謎だったんですが, なんとなく原因が分かったような気がします. イズミヤのテーマソングは, 現在は「しあわせくるくる」という歌が主力なのだそうですが, 店内では「さあ, 歩き出そう〜」という歌い出しで始まる「明日へ吹く風」という歌をよく耳にします. この歌は穏やかなとてもいい歌で, 聞いていると気分が軽くなってきます. 気持ちよく買い物ができるという点では, 客のことを考えた非常に優れた歌だと思います. ただ, これは多分テーマソングとしては致命的だと思うのですが, 歌詞にイズミヤを特定するフレーズが一切出てこないために, この歌はイズミヤのテーマソングとして記憶に定着しにくいようです. それが「イズミヤのテーマソングどんなのだっけ?」に対して, つい「お元気で〜す〜かぁ〜」とオークワのテーマソングを歌ってしまう原因になっているように思います.
■ 2009年09月20日 [OpenGL][GLSL][ゼミ] 第12回 模様を付ける
877.fm
実は今日知ったんですけど, 和歌山市内にある "バナナ FM" (877.fm, エフエム和歌山) は, 株式会社ではなく NPO 法人なんですね. この放送局は空中線電力が 20W しかなく, サービスエリアが和歌山市とその周辺くらいしかありません. 番組内容も独自のもので, メジャーなタレントを呼ぶとかそういうこともなく, 時には高校のブラスバンドの演奏を流したりして, それはもう地味というか, 地元に密着した内容になってます. どこかのテンションがやたら高い放送局と違って DJ も日常会話のように自然にしゃべっていて, 気負いがありません. いいです. 日々の生活に実にフィットします. CM にも「近所のあの店が CM してる!」という親しみやすさがあります. 私はこの放送局と縁もゆかりもありませんが, 永く続いて欲しいと思ってるので, 皆さん応援してあげてください.
■ 2009年09月14日 [OpenGL][GLSL][ゼミ] 第11回 拡散反射光による陰影
固定機能ハードウェアとプログラム可能ハードウェア
固定機能ハードウェアは処理内容をハードウェアで実装しているので, 同じ処理内容 (かつ, 同程度のハードウェア量・クロック) なら, 一般的にプログラム可能ハードウェアよりも高速です. しかし, ハードウェアで実装すると「できること」が決まってしまうので, 多様な処理に対応するために, ある程度汎用的に作っておかなければなりません. そのため, 処理内容によっては不要な手順が含まれてしまうことがあります. その点でプログラム可能ハードウェアは, 目的を達成するのに最適な手順が選択できるため, 同じ目的に対して固定機能ハードウェアより高速な処理が行える可能性があります.
Before...
● とこ [GLFW3 版はこっちでした. https://github.com/tokoik/glfw3sample/blob..]
● Hingis [ 床井様、アドバイスありがとうございます。画像の読み込み関数を使用するか、画像読み込みようの別ライブラリを使用するの..]
● とこ [Hingis さま、そこはやはり OpenGL が「グラフィックスハードウェアを制御する API」であることに由来し..]