2013-04-01から1ヶ月間の記事一覧

レンダリング済みフォントを扱う

フリーのフォントはたくさんあるが、気に入ったものが再配布不可になっていたりすると困る。その場合、画像化したデータなら使ってもいい、というパターンは多いが、そうすると固定文字でしか扱えなくなってしまう。 例えば文字単位に画像を作って並べてやる…

レンダリング済みフォントサポートクラスサンプル

できた。 プロポーショナルフォントを扱う場合にはフォントのメトリクス構造体から情報を取ってきて描画位置を調整する必要があるのだが、アルファベットの小文字に特殊なやつ(fとかj)がいて、通常の領域をはみ出して描画することがある。 こういった文字を…

Ayame/Ruby0.0.2

3年以上あけてAyame/Rubyのバージョンアップである。 http://dxruby.sourceforge.jp/files/ayameruby002-mswin32-ruby19.zip 今回はAyame同梱のサポートクラスを使ってフェードイン/アウトと状態取得メソッドの追加およびMIDIファイルの再生に対応している。…

射影変換を考える

自分的メモ。 3D計算における射影変換は、単純に言えば奥のものを真ん中に寄せる計算である。奥のものを真ん中に寄せるためには座標をzで割ることになるが、それで真ん中に寄るということは、画面のど真ん中が座標系の原点(0,0)になっていないといけない。こ…

マリオカートを目指す試練

前回より見た目がしょぼくなったのはご愛嬌。 サンプルのミニレーシングのコースにランダムにSpriteを配置してみた。3D空間の計算式はDirectXに合わせて右に+x、上に+y、奥に+z(修正:奥だった)の左手座標系としてSpriteと地面を統一した。3Dのイメージはそ…

Sprite3Dと頂点シェーダの連携

マリオカート的な画面を作ろうとすると、少なくとも地面の絵は透視座標変換してパースをつけた描画をする必要がある。これをどのように実現するかというのは大きな問題で、いまどきのPCは速いといってもソフトウェアで計算&描画するのは負荷が大きすぎる。…