2012-04-30

個人的には、TDD(テスト駆動開発:Test Driven Development)ってのが好きなんですが、Mac + XCode が中心の生活に移ってからというもの、環境が思うように整わなかったのと、使い捨てのようなコードばかりを書いていたこともあってまともなテストを書いていませんでした.
# CppUnit を使わずに、自作の簡易テスト環境で小さなテストなら書いていました
が、今年の頭ぐらいからがきがきとプロトタイプの開発を行っていた案件が徐々に本格化してきてしまって、さすがにまともなテストが残っていないことが辛くなってきたわけです.
やっぱり、テストがあると開発の安心感が違うよね、、、
ってことで、XCode から CppUnit を利用できるようにしましたってお話です.
お品書きはこんな感じになります.
・ 環境
・ Homebrew の特徴
・ Homebrew から CppUnit をインストールする
・ 簡単なテストコード
・ まとめ
そいでは、さくっとまとめていきますのでよろしくお願いします.
2011-12-04
■[日記] COLLADA で遊んでみる
シェーダーを書いて遊びたいんだけれども、描画のパスを切り替えたりだとか、レンダリングターゲットを切り替えだとかができないことにはおもしろくないし、なるべくならシェーダの世界だけいじっていれば良いような環境にしたいって事で、「適当なスクリプトでも組んでみるかなぁ」なんてことを思い立ったのがきっかけでCOLLADAの存在を思い出したわけです.
まがりなりにもKhronosが管理しているフォーマットだし、業界標準のフォーマットってのには疑問があれども、それなりに採用実績もあることには間違いないんで、COLLADAを利用して描画を管理しておけば実行効率は別にしても結構使い勝手はよくなるんじゃないか?なんてことを思い立ったわけです.
そんなわけで仕様書を落としてきて眺めながらレンダラを書いていたりするんだけれども、仕様が大きくて把握しづらいのなんのって....
macだとプレビューを利用してdaeファイルを表示できるから、「こりゃ良いわい」なんてことを思いながら手書きでxmlファイルを書いてみながら動作を確かめてみたりもしていたんだけれども、肝心の描画パスの記述当たりで書き方が悪いのかレンダラが対応していないんだかわからないけれども表示が行えない.
う〜む...
仕方が無いので、おそらく仕様的には行動さするのが間違いないんだろうなんてことを考えながら実装作業を進めております.
やりたいことができるようになるまでは、あと一歩ってところかな.
今週早々には、簡易実装版が出来上がると良いなぁ.
使う勝手が良さそうなら、アニメーションなんかも組み込んでみたいところ.
2011-11-27
■[日記] のんびりとした週末
久しぶりにのんびりとした気分で望むことができた週末.
趣味のプログラムのtodoとして書きためていた、「市松模様のテクスチャの読み込みと表示」ってのを消化するために時間を使った.
後は、2年ほど前からちょこちょこと作り続けているレゴを作ってみたりとか...
巷ではUnityとかつかってお手軽開発ってのが流行っているようだけれども、なんちうか、もっと非生産的な活動っちうかあえて遠回りをする道っても必要なんじゃ無いかって気がしている.
いえね、仕事でシェーダとか書くわけですよ.
その時にはなるべく最短距離をって考えるんだけれども、余裕がある自分の時間にはもう少し根本的な部分に触れていても良いのかなって思ってしまうわけです.
何かの本に書かれていた言葉だと思うんだけれども、「仕掛品をつくっておく」って意識は結構重要なのかなぁと...
なんとなく GLUTをつかって簡単な3Dエンジンをこしらえているの図でございます.
2011-10-26
■[日記] 小さな事からこつこつと
英語の勉強をし始めるとプロジェクトが忙しくなるってジンクスがある.
たぶん、プロジェクトはいつだってデスマーチで、プロジェクトの合間に「さて英語でもやるっぺか」なんてことを考えるから、ちょっとするとすぐに次の(デスマーチ)プロジェクトが入って、「英語の勉強を始めると忙しくなる」ってジンクスが出来上がるんだろう.
...これは、仕事に対する取り組み方を見直さねば治らんのだろうな...
さて、プロジェクトも少し落ち着いてきたので、人間らしい生活を取り戻すべく趣味のプログラムの時間を作る.
日に一時間も取れれば良いものなんだろうけど、小さなところからコツコツとやっていくしか無いのです.
javascript とか python を使って遊んでみたい気がするんだけれども...
悩む時間ももったいないので、ひとまずは書きかけのOpenGLの実験コードを終わらせてしまうことにするのです.
そんなわけで、タイマークラスを導入してみたりカメラ操作クラスを導入してみたりした.