つばくろぐ @takamii228

知は力なり

OpenGLを勉強しています

※これは12/2に書いた記事です.

最近ようやく重い腰を上げてOpenGLの勉強に手をつけ始めました.

卒業研究で作ったシステムはJava 3Dを使っていたのですが,描画の部分がボトルネックになっていました. Java 3Dの時はウェブで見つかる情報が古くて,開発も2010年からあまり活発になっていないようで,とにかく苦労しました.

それでもなんとか動くようにして某可視化の国際会議でポスターデモ発表したのですが周りは全員OpenGLJava3Dは自分だけでした. スケーリングしないことを言うと,「Java3D使ってるからだよ」と言われました笑

Java3Dでどこまでできるかを夏前にいろいろやってたのですが,結局あまり成果がなかったのでOpenGLC++で書き直す作業に入ります(もっと早く手を付ければよかった...?).

OpenGLの入門としてはこのサイトが非常に分かりやすくていいです.

 GLUTによる「手抜き」OpenGL入門

ここもいい参考になりそうです.

 OpenGL de プログラミング

OpenGLの参考書としては以下の赤本と青本が有名のようです(大学入試の過去問みたい笑).

赤本は主にAPIの使い方,青本は入門から高速化のテクニックまでが紹介されています.

OpenGLプログラミングガイド 原著第5版

OpenGLプログラミングガイド 原著第5版

OpenGL® SuperBible: Comprehensive Tutorial and Reference

OpenGL® SuperBible: Comprehensive Tutorial and Reference

  • 作者: Richard S. Lipchak, Benjamin Haemel, Nicholas S Wright
  • 出版社/メーカー: Addison-Wesley Professional
  • 発売日: 2007/06/18
  • メディア: ペーパーバック
  • クリック: 7回
  • この商品を含むブログ (9件) を見る

赤本は日本語版がありますが,青本はないようです.

ちなみに青本の方は最新版は第5版のようですが,内容的には第4版の方がいいらしいです.

なんとか年内に使い方をある程度マスターして,今年度中にはシステムを完成させたいものです.

ICPCアジア地区予選東京大会にボランティアとして参加しました

※これは11/24に書いた記事です.

11/17~11/19に行われたICPCアジア地区予選にボランティアスタッフとして参加しました.

ICPCは一応選手として去年と今年国内予選に参加しましたが,いずれも2問しか解けずあっさり敗退しております笑

一日目

一日目の選手の予定は午後から受付,トライアルセッション,Java Challenge,歓迎会という予定. スタッフは朝から配布物の準備や受付の準備等で午前中から活動してました(会場準備は前日から!)

参加チームの大半は日本のチームですが,アジア地区予選ということで大会中のやりとりは全部英語.スタッフも英語.自分もつたない英語で頑張りました.

僕は競技中は主に印刷物と解答した問題を表す風船の配布をやってました. トライアルセッションということもあり選手たちもリラックスした様子が見れました.

夜の歓迎会はスタッフも一緒に参加.各チームそれぞれ工夫を凝らしたチーム紹介を見せてくれました. twitterで何かと話題の yamashitam さんとも少し話すことができました.

二日目

二日目はいよいよ本番.競技は9:20から14:20までの5時間! 本番ともなると選手のみなさんも緊張している様子.僕らも5時間ひたすら印刷物と風船を配りました.

競技開始と共にスタッフルームではOBのみなさんが競技の問題を囲んで議論を始めました. それを元に,どの風船を多く用意すべきかを教えてもらいました. 途中で某色の風船が足りなくなりそうになって少し焦りましたが,最終的に昨日のトライアルセッションの風船を使いまわすことで解決しました.

競技の方はUniversity of AgitsuneとTwT514の抜きつ抜かれつの名勝負. スタッフルームも両チームのAcceptが増えるごとに歓声が上がっていました.

終盤に差し掛かってAgitsuneが9問目を解き終え,10問目(J問題)に取り掛かり始めました. AgitsuneがJ問題を提出するたびに,結果がどうだったかどうかスタッフみんなで注目してました笑

それからしばらくして,ついにAgitsuneがJ問題をAccept! 10個目の風船はスタッフではなく,敗北宣言(?)として大会委員長が運びました.

後日ジャッジの先生の話では,Agitsuneは10問目Accept後も数回プログラムを修正してより速い解答プログラムを提出してたそうです...!!!

競技中は会場とスタッフルームを行き来してましたが,TwTのチームは9問目解答後は10問目には手をつけず,終始談笑してました.

5時間というのは長いようであっと言う間,University of Agitsuneの全完での優勝で幕を閉じました. 詳しい結果は こちら に載っています.

また戦況は twitter@icpc_tokyo12facebookにあります.

その後選手たちは移動して問題の解説,Java Challenge,表彰式の会場へ.

その間は僕らは急いで会場の片付けです. スタッフ全員で協力したおかげてあっと言う間に試合会場は元通りに! なんだか寂しい気もしました.

最後は懇親会,スタッフも参加させていただきました.ホスト校からの出し物ではジャグリングサークルの演技がありました.

懇親会では名古屋大学東京大学のチームに共通の知り合いがいたので話しかけてみました. AtCoder の運営もされてる chokudai さんとも少し話しました.

また競技プログラミング界では超有名な iwiwi さんにグラフ可視化について教えて欲しいとのことで,研究について話しました.iwiwiさんはいろんなところからサインを求められたりしてたので,話しかけるのに少し緊張しました笑 内容は大規模グラフの可視化について.個人的にもいろいろな意味でチャレンジングなテーマだと思うので,少し頑張ってみようかなと思いました.

3日目

三日目はエクスカーションで,スタッフも選手に同行させていただきました.

感想

僕自身ICPCの存在を知ったのが学部2年の時で当時も面白そうだと思ってたのですが,その頃は部活動の方に精を出していたので,本格的に関わるのは4年になって研究室に配属されて以降でした. 国内予選であっけなく敗退したときは,もう少し早くからやってればよかったなぁ,と思いました.

大会を通して,選手たちの競技に対する真剣な眼差しや問題が解けた時の笑顔が一番印象的でした. スタッフとしてアジア予選に参加して良かったなと思います.

選手の皆さん,スタッフの皆さん,先生方,OB・OG会の皆さん,その他大会に関わったすべての皆さん本当にお疲れ様でした.

優勝したUniversity of Agistuneの世界大会での活躍も楽しみですし,その他選ばれる可能性のあるチームの動向にも注目です. 選ばれたチームの活躍を祈っております!

P.S

そういえば僕は早生まれ(1990年生まれ)なので,来年も予選に出られるらしいです笑