Programming, コンピュータ

fltk Programming on OSX(2)

動いた〜!!いろいろハマって、休暇終了ギリギリになっちゃった。本当ならば、ここから話が始まるはずだったのにw

思ったよりも細かいところで仕様が変更されてて、それがバグなのか仕様なのか突きとめるのに時間がかかった。でも、これで fltk2.x 系に移行することができたしこれからは楽ができるんじゃないだろうか。
それにしても、今改めて見直してみると、いろいろ拙いところが目につく。社会人になりたての頃に 3DCG の理論を勉強しながら作ったプログラムだからしかたないけど、このまま流用するんじゃなく、一から作りなおしたいなと思う。
ただ、習作ながらもオブジェクトの選択・移動はもちろん、階層化やオブジェクトの動的な追加・削除も実装しているので CG ツールとして最低限必要な機能は揃っている。あとはインターフェースを作りこめばいろいろ遊ぶこともできたのだけれども、当時は一通り動かすことができただけで満足してしまったのを覚えている。
そうそう。開発環境は結局 XCode に移行した。ウィンドウが際限なく表示されるのさえ慣れてしまえば、まあまあ快適なんじゃないかと思う。少なくとも Emacs+gdb とは比較にならない(笑。あとは、全てのウィンドウについてくるゴテゴテしたボタンさえ何とかなってくれればいいんだけど…

Programming, コンピュータ

fltk Programming on OSX

半日かけて数年前に作った fltk1.x+OpenGL on Windows なアプリを fltk2 on OSX に移植してみた。

fltk1 から fltk2 への変更はほとんどがネームスペースまわりの扱いなので機械的な作業なのだけれども、たまにクラスが無くなっていたり定数の定義が変わっていたりするので、それを追いかけながら修正するのに結構時間を取られてしまった。

今日の作業で一通りコンパイルが通るようになったのだけれども、立ち上げようとすると Bus error で落ちてしまう。gdb で追いかけてみると、数年前にも似たような症状でハマった記憶があるようなところで落ちている。落ちた記憶はあるけれども、どうやって直したのかが覚えてない(笑。もしかしたら、応急処置的に動くようにしただけだったのかも。

こういうことは長期休暇ぐらいにしかできないし、半年以上まともにプログラムを書いていなかったリハビリも兼ているのでちょっと気合いを入れて動くところまで持っていきたい。

今回ほぼ初めて OSX 上でまともにコードを触っているのだけれどもそろそろ Xcode を使って開発をすることも試さないと。21世紀になって早数年、未だに Emacs+gdb で頑張るのもどうかと思うし。でもなぁ。Linux でも使える環境と言ったら Emacs+gdb が一番な気もするし。最近だと Eclipse もアリなのかな? 何だかんだ言って VisualStudio ってよくできてると思う。特にデバッギング環境は充実してて使いやすい。あれに匹敵するぐらいの環境ってないものかな。

ただ、VisualStudio を使うっていうことはあのメモ帳並の機能しかないエディタを使うっていうことになるのがたまらなく苦痛でしかない。あそこに Emacs が入ってればいいのに。昔はキーバインドだけ Emacs モドキにするようなことも試したけれども、中途半端すぎてむしろストレスが溜まるだけだったな。今でもかわらないんだろうか?

そういえば最近やねうらおさんのとこでもIDEの話をしてたよなーと思ったら見つけた。何かやねさん(VS派) vs 他(Eclipse派)みたいになってるような(笑。業界が違うんで鵜呑みにはできないけど、議論は参考になる。

 

Programming, コンピュータ

fltk bug on OSX(2)

昨日目をつけていた不具合を手当り次第修正したら、エディタの文字が崩れるのはなおった。ただ、まだカーソルを移動するとサブピクセル単位で文字がウネウネ動くのでちょっと気持ち悪い(笑。これもどこかで数値を丸めてしまっているんだろう。

 とは言え、自分用に使う分には問題ないのでこのまま放置してしまおうかと思っているw。今は単に手軽に使える(そして一番慣れている)ツールキットを使って 3D の描画がしたかっただけだから。それに、このままだと fltk のバグを直すだけで休みが終っちゃうし(笑。

Programming, コンピュータ

fltk bug on OSX

fltkを OSX で使うために最新のリビジョンをビルドしたものの、テキスト編集まわりの挙動がどうにもおかしい。
カーソルを動かせばゴミが残るし、エディタなんかになると表示がボロボロに崩れて使えたものじゃない。
正式リリースじゃないしテキスト入力系のバグはよくあるのでとりあえず調査開始。

 ・Windows でビルドすると?
最新版じゃビルドできないww。ML のアーカイブを見ると、Windows 版では対応していない機能が最近追加されたらしい。追加される前のリビジョンでテストするとうまく動く。OSX ではやっぱりダメ。

 ・もっと古いリビジョンを試す
かなり古いものを持ってきても症状は同じ。

 ・src をいじる
Windows で OK で OSX で NG  なので、怪しいのは src/osx の中。問題のあるウィジェットのソースを見てるとFont.cxx の中の getwidth() 関数が怪しそう。OSX のテキスト処理とか詳しくないし調べるのもメンドいので、とりあえず返り値の数字をいじってみる→思った通りに挙動が変わる。更に、7.201172 とかキリの悪い数字を返していることもわかる。この時点で嫌な予感。

 ・TextDisplay.cxx に戻る
予想通り、getwidth() の返り値を int でキャストしてる(ぎゃー!!。これが原因か。半端な数字が丸められて、結果カーソル位置の計算がずれるっぽい。
これを直すのは面倒臭そう。キャストするのをやめるだけで直ればいいんだけど、それだけで足りるかなぁ。

とりあえず今日はここで力尽きたのでやめ。あんまりにも面倒臭そうだったら fltk-ml に丸投げするかw

というか、OSX でちゃんと使ってる人は誰もいないの!?

CG, Proce55ing, Programming

知らなかった…

Proce55ing って、標準では行列が扱えないのかー。知らなかったよ…

これは困った。手軽に描画ができるからって Proce55ing を使ってたのに、これじゃ手軽に描画ができないよ(笑。

JAMAみたいなライブラリを簡単に使えたりするのかなぁ?それならありがたいんだけど。そうでなかったら、昔 C++ で作ったプログラムのコードを流用して一から作ったほうが早そうな気がする。fltk を使ってるから、OSX に移植するのもそれほど手間じゃなさそうだしなぁ。気合いを入れれば一、二日でできるかも?

あとは、描画まわりは全部 Maya にお任せしてプラグインとして作るか。これが一番楽そうな気がする。


モノは試しに一番単純なアプリを移植したら、さっくりと移植できたw。

やったのは Makefile を書いたのと、windows 特有のヘッダファイルやら WinMain やらを書きかえただけ。あと、fltk1.x 用のコードだったので fltk2.x 用に書きかえたり。

これだったらfltk を使おうかなぁ。


コメントで jar が扱えるということを教えて頂いたので試してみました。手順は [Processing][仕様]外部ライブラリ(*.jar)の設置方法 を参考にして、JAMA を入れてみたところ何の問題もなくインストールできて拍子抜け(笑。

コードも、Webページにあったサンプルを copy&paste するだけで動いちゃいました。これは素晴らしい!!

更に、PackageLoc という3D幾何・代数操作パッケージもあるそうなので、Proce55ing に死角無しです。

コンピュータ

冬休みの課題:Broadcast Yourself!

一昨日のことですが、遂に念願のビデオカメラを買っちゃいました。機種は Canon のHF11

先日書いた記事では候補にすら上がっていなかったのですが、某氏の助言からいろいろ調べたら、意外といいんじゃない?っていうことでこれに決めました。

で。買ったからには何か使わねばってことで、今週は休みだし冬休みの課題と称して Youtube デビューをしてみたいと思います。ネタは、先日おわったプロジェクトで使えないかと思って休みの日に作ったもののお蔵入りしてしまったプログラム。


アカウント作成
まずは Youtube のアカウントを作るところからですが、これはすんなりと作れました。philosy という名前が使われてしまっていたので philosy08 です。

撮影・編集
次に素材の撮影。手元には iMovie HD しかないので、これを使います。が、ここで大ハマり。DV WideScreen なプロジェクトにビデオ入力経由で録画をすると、画面が縦長になって両側に黒が入ってしまいます。画面ではきちんとなっているんですけどね。。。

いろいろ試したところ、最初に 4:3 のプロジェクトで録画をしておいて、その DV ファイルを 16:9 のプロジェクトに持っていけばいいようです。これは面倒臭い :-(。Final Cut Express ならここらへんはさっくりと行けるんでしょうか?発注はしたので、到着次第確認したいと思います。

アップロード
ムービーの撮影・編集が終ったらあとは YouTube にアップロードすれば完成。ファイルの転送が終っても、サーバー側で再エンコード処理をするのでしばらく時間がかかります。

完成
そんなこんなでできたムービーはこちら。 Hello World!

あれ。4:3 になっちゃった orz。。。

雑記

物欲

最近、ビデオカメラが欲しくて色々物色しています。

 まず第一候補は驚異の 1200fps 撮影&フルHD動画撮影可能な CASIO EX-F1。ハイスピード撮影がしたいなら、唯一の選択肢です。難点はデジカメとして見るとちょっと中途半端に感じるスペックと、サイズ。気軽に持ち運ぶにはちょっと大きいです。

次は SONY の HDR-TG1。このサイズで1920×1080のHD撮影ができるのは驚異です。あと、デザインも他から飛び抜けてイイ!!このサイズだったらポケットに突っ込んでおいても気にならないですしね。気になるのはちょっと寄った時の手ブレ具合と、43mm〜という画角。もうちょっと広角だったらなぁと思います。

 あとは SONY の HDR-CX12。型落ちで安ければ HDR-CX7 もアリ?ここらへんは買っても外れがない、安全路線ですね。尖ったところは無いけれども安心して買えそうな気がします。CX7 を買う時に気をつけないといけないのは、メモリースティックが別売なのでこの金額も頭に入れて検討する必要があるところです。画角は40mm〜ですが、いざとなったらワイドコンバージョンレンズが着くのがTG1 との違いです。

 それから番外w で Canon の 5D Mark II。一眼レフカメラなのにHD動画撮影もできてしまう、今季大注目のモンスター。しかしレンズ込みで40万円ww。気軽に持ち運んで、ガンガンぶつけながら使い倒すっていう使い方は絶対できないです。あと、私が使っても絶対使いこなせない(笑。宝くじが当たったり、竹薮で一億円見つけたら考えますwww

こんなところでしょうか。それぞれに特徴があって、悩みどころです。

雑記

おわった。。。

今週末でプロジェクトがおわりました。長かった。。。。私が参加したのが去年の 3 月末だから、丸々 9ヶ月やっていたことになります。これだけ長いあいだ一つのプロジェクトに関ったのは初めてですよ。道理で夏の記憶がないわけだww

R&Dも含めて製作のほぼ全期間携ることができただけあって、かなりテンコ盛りな内容でした。ぱっと思いつく内容だけでも

  • パイプラインの構築
  • シミュレーション関係R&D
  • リギング
  • 各種ツール開発
  • エフェクト

こんな感じですか。

プロジェクトを終えて、冷めないうちにちょっと感想をまとめてみたいと思います。

CG

xsi@fxpodcast

最近、何故か更新されていない fxpodcast の 10月末の “SOFTIMAGE|XSI7” が秀逸です。Softimage の Bill Roberts へのインタビューですが、これがもうマニア垂涎の情報満載です。

以下、私が気になったところを抜粋します。

・Crosswalk

ソフトウェア間の違いを意識しないでデータをやりとりするための仕組み

・Fluid Dynamics on ICE

Ben Houstonが設立した Exocortex Technologies, Inc. との提携。Ben Houston は  Frantic FilmsDeadline を作った人。また、Floodの主要開発者。

・Houdini との違い

“It’s brilliant package. But, Hard to learn.”

・XSI の位置付け

“Platform”。その上で特定の分野にフォーカスしたパッケージを提供する。 FaceRobot, ICE, etc.

・その他

コンポジットシステムとかサラウンドとか

 

Platform 化の話が出たのは正直驚きました。確かに Face Robot とか ICE だけを見ると一ツールとしたら今までにない規模のものだなぁとは思っていたのですが、 XSI をプラットフォームとして見れば納得です。

 

この回以外にも、fxpodcast は聞いてて面白いです。各プロダクションの動向がわかるのはもちろん、インタビューをする相手も素人なのでハイテンションなまま横道に逸れながら 延々話を続けたり、かと思えば聞いてるこっちが眠くなるほどローテンションで語って、それにつられてインタビューアも妙にテンションが低かったりとかバラエティに富んでいます。