仕事が一区切り

MatchSrf_tess SketchOnMesh_tess
K氏、M氏と共同で、CADフレームワーク、NURBSテセレータ、ポリゴンスライサを数ヶ月間で開発するというスケジュール的にかなりタイトなプロジェクトがあったのだが、先日無事離陸できた。
CADフレームワーク部分はかけた工数が少ないため機能的には必要最低限のものであるが、テセレータ、ポリゴンスライサはK,M氏の尽力もあって、短期間ながら高速かつ高品質なものができた。

とくにテセレータは、本当にこの短期間に作成できるのか不安で仕方なかったのだが、杞憂に終わってほっとしている。仕事がらいろいろなテセレータを見てきたが、速度も品質も上位に位置するものになったように思う。まだほとんど最適化をしていないので、今後どこまで速くできるかが楽しみだ。
なお、実装にあたっていろいろな論文をあさったのだが、結局オーソドックスな手法の以下のものが一番役にたった。「分割して統治せよ」という単純な手法のもつ普遍性にはいつもながら驚いてしまう。
F. Kahlesz, A. Balazs and R. Klein.Multiresolution rendering by sewing trimmed NURBS surfaces. Submitted to Solid Modeling 2002.

また、テセレータのうち、実際に私がコーディングを担当したのは2Dのドロネー三角形分割部分のみだが、制約辺対応でかつメッシュに特化した分割アルゴリズムというのが探しても見つからなかったので意外と苦労してしまった。よく行う処理のはずなのにこれだけ資料がないというのも不思議なものである。やっぱりニッチな業界なんだなあ。

それにしても今までのプログラマ生活でももっとも密度の濃い数ヶ月をすごした。冗談抜きで通常の3倍のスピードでコーディングが出来たように思う。労働時間自体はあまり長くなく、かつコーディングもはかどったので毎日心地良い疲労感を味わうことができた。この調子が続いてくれるといいんだけど、まあ絶対スランプがくるんだろうね。

Stiff asks, great programmers answer

Stiff asks, great programmers answer

ある個人のブロガーが、Linus Torvalds、 Bjarne Stroustrupなどの9名のプログラマの達人に、e-mailでいろいろな質問をぶつけてそれを公開した記事。
それぞれ1人ずつの答えではおそらく見出せなかったものが、こうして9人の回答を並べてみると見えてくるのが興味深い。
とりあえず思ったことはみなさんやはりUNIXがお好きなんですね。

隨身碟應用!?

台湾の出版社から以下のメールが来た。
ソフトウェアのお願い

拝啓
 貴社におかれましては益々ご清栄のこととお慶び申し上げます。
 先日は貴社のソフトウェア(Hamama"と"Hamana ver1.48 extra language patch")をご提供いただきまして、誠にありがとうございます。この製品はユーザーが使用しやすいばかりでなく、多彩な機能が備わっているため、多くのユーザーたちがこの製品に興味を持つことと思われます。弊社は2006年11月末に「隨身碟應用について」という本を出版予定ですが、貴社のソフト(オフィシャルサイトのダウンロードから)を本書の中のCAI(コンピューター教育用のマルチメディアディスク)としたいと考えております。多くの台湾の読者がこの機会を通じて、貴社のソフトからより多くのことが学べると信じております。どうか貴社のソフト使用権に同意してくださいますよう、心から願っております。
 貴社から良いご返事を期待しております。何か疑問がございましたら、弊社にご連絡ください。

敬具

間違いのない完璧な日本語だが、でも意味がさっぱりわからない。
単なるソフト収録だとは思うのだが、CAIって言葉がでてきて混乱する。いったいどういうことだろう?

あと、よくみると Hamama って書いてあるな...
こりゃあいい!!!バージョン2になったらHamama2に改名するか。もちろん、ハママ・ツーと読みます。

FSAA on CAD

自家製CADフレームワークにFSAAを使えるようにしてみた。
特にアプリケーション側で対応させるコードをかかなくてもGeForceなりRadeonのドライバの設定をいじれば強制的にFSAAをかけることが可能だが、やっぱりアプリ側で制御すればエンドユーザーでも享受しやすいもんね。

FSAA なし
FSAA none

FSAA 4点サンプリング
FSAA 4X

FSAA 16点サンプリング
FSAA 16X

やっぱり綺麗だなー。16点になれると元には戻れないかんじ。

以下は実装にあたってはまった点。
  • FSAA用のフレームバッファ作成のためにwglChoosePixelFormatARB()拡張関数が必要なのだが、この拡張関数のアドレスを取得するにはOpenGLのレンダリングコンテキストが有効でなくてはならない。したがって、フレームバッファ作成のために、ダミーのフレームバッファを作成する必要がある
  • さらにそのダミーのフレームバッファを本当に作成しようとするウインドウ上に作成してしまうと、本当のフレームバッファを作成するときに失敗してしまう。したがってダミーのウインドウを作成して、ダミーのフレームバッファをその上に構築しなければならない

OpenGLの拡張関数を使うのは本当にめんどいな。資料もあまりないし。

24 TwentyFour


        ∧ ∧
       (*‘ω‘ *)
        (∩∩)

   \ ピコッドン ピコッドン  /
  / ̄ ̄ /|| 
  r== r .|_
/`L_`L//|
l ̄ ̄ ̄ ̄ i

        ∧ ∧
       (*‘ω‘ *) ドキドキ
        ((∩∩))

  / ̄ ̄ /|| 
  r== r .|_
/`L_`L//|
l ̄ ̄ ̄ ̄ i

        ∧ ∧               /| ̄ ̄ |
       ( *‘ω‘)          ガチャッ   || (><;)
        (   )                  ||o⊂ U)|
         v v                   ||  U U .|
          川 バインバイン          ||/ ̄ ̄
         ( (  ) )
  
  / ̄ ̄ /||
  r== r .|_
/`L_`L//|
l ̄ ̄ ̄ ̄ i  
近所にゲオができたので、最近はDVDをよくレンタルしている。 で、 24 TwentyFour のシーズン1をいまさら借りて見ているわけだが、めちゃくちゃ面白いね、コレ。
今は第7話まで見たところだが、先の展開が楽しみで楽しみで他の作業に身がはいらない。恐るべし。
シーズン2以降もこのクオリティならすごいな...

<< 12/15 >>