ようこそゲストさん

すらりん日記

メッセージ欄

分類 【日記】 で検索

一覧で表示する

2006/11/28(火) ゲーム開発とか興味リンク色々

日記

参考WEB

http://www.h6.dion.ne.jp/~game296o/index.html

詳しく色々と書いてあってよさげ。

LZF

自分のアーカイブファイルにこれを実装してみたいですね。
LZWは特許関係してたからなぁ・・・。

1: slash 『http://www.atelier-blue.com/http://sorceryforce.com/』 (2006/12/06 14:06)

2006/12/25(月) ちびちびとプログラミング

日記

DirectX用のライブラリ作成はじめました

今まで作っていた描画ライブラリのダメさを気付いていて、

そろそろ新しいものを作らなきゃという思いはあったのですが、

今頃ようやく着手しました。

とりあえずはまだD3Dのデバイスのクラスを作成。

あと最下位レイヤーでやるべきことじゃないんだろうけど、フレームレートの制御用クラスも作ってみたり。

意外と手こずりました。

フレームレートの制御用クラス

GPU処理落ちの場合に、描画すべきフレームをスキップするような機能と、
目的のフレームレートで固定するための、時間潰しを有するクラスです。

手順

次のフレーム時間まで余裕があるときには、Sleepで時間をつぶすし、
現在の時間が次のフレーム時間を超えているときには、現在のフレームは描画しないように処理をする

2006/12/31(日) 大晦日

日記

最後まで

今年終わる最後の今日、今もプログラミングしてます。
以前やっていたフレームレートの制御用クラスの続きです。

やねうらおさんのHPを参考に組ませていただきました。フレームスキップまできちんと実装されていてスバラシイです。

とりあえずこれである程度のスペックを持つPCならば秒間のFPSを固定することが出来ます。

グラフィックスがちょっと低スペックでもなんとかがんばれるようになります。

2007/01/01(月) あけましておめでとうございます。

日記

あけおめ

新年あけましておめでとうございます。

今年は初日から日記記述です。がんばります。

foltia

アニメ専用録画システムのfoltiaをインストール&設定していました。

通常設定だとPSP/iPod用のトランスコンバートの処理が録画後に走るのですが、
オレはCMなどをカットして保存するクチなので、ちょこっとスクリプトに手を入れて環境を作っていました。

アニメはfoltia、TVドラマはmythtvと分けて使っていく方針です。

なお、この正月期間中にどうでもいいアニメの予約を入れてみて、実験予定

2007/01/03(水) 新ライブラリ

日記

foltia

設定したfoltiaは正常に動作できませんでした。

色々とスクリプトを変更してみましたが、付属のtvrecordでは、チャンネル切り替えが正常に出来ない模様。

mythtvのほうは正常に切り替えできているし、ぱ研のドライバ付属の record-v4l2.plでは正常なので、ちょっと諦めモード

新Dx9ライブラリ

ベースレイヤとアプリレイヤの2層式による描画ライブラリを作成中です。
とりあえずベースレイヤは出来た予感。

しかしベースには、頂点バッファ、インデックスバッファ、デバイス、テクスチャ、シェーダーくらいしかいないが、

ホントに基本的な要素に分解すると描画ってこれくらいしか根底に居ないのか?!

2007/01/04(木) 3D描画について思案してみた

日記

3D勉強

3DのデータってどうやってPCで表示しているか色々と。

→点(面)データの集合を単に描画!ってやってるだけ。
 どうもそこはどういう装置でも変わらない基本みたい。

最近だと、シェーダーとか流行ってるみたいで、
それをうまく使う&管理するにはどうしたらいいのかなぁ
と考えていたら昼寝に突入してしまいました(汗


次世代だと、頂点データ群+シェーダーでポリゴンを描画ですね。
シェーダーが無ければ、そのポリゴンの表示のさせ方が決まらないってことで。
この2つがワンセットとして扱わないとダメな感じでした

1: slash 『http://www.radiumsoftware.com/0211.htmlここに出てたATIの記事が気になってみたり。』 (2007/01/04 24:01)

2007/01/07(日) リンク増やした

日記

リンクが増えました

リアル友のブログをリンク追加しました。

ここの日記メモより遙かに読んでいて満足できるものかも。

読んで癒される、笑ってしまうオレは、すでに病んでいるのかも知れません。

3D描画について

インスタンシングについて実験してた。
キューブを1個の頂点バッファ(8頂点)で、描画位置だけを変えることで3つ表示しています。

ちなみに実装方法は、ハードウェアインスタンシングです. X1600なので SM3.0故に搭載されています。

他にも種類があるみたいなので実験しておかないと…。

2007/01/14(日) いろいろと進んだかな?

日記

フォント関係

Xファイルなどのモデルの前に、文字描画したいなーと思って、

フォント関係を調査していた。

ID3DXFONTは使いたくなかったので、自前でフォントテクスチャを作って、

それを使うような感じにしようと。

色々とあったけど、2日かかってこの位できました。

image 0, 'フォントテクスチャ(一部)', nil, [128,128]

まだフォントが存在していない部分が大量にあるので、その部分をどうするかが思案中です。

あとはこれを切り出してポリゴンに貼れば描画はできるかな。

見栄えとか考えると、カーニングとか考えなくちゃいけないけど…。

2007/01/27(土) Xファイル解析

日記

前回の反省点

前回のフォント問題は解決できたので、今回はDirectXのモデルファイルについて色々と。

ちなみにフォントの問題で一番引っかかったのが、
SHIFTJIS文字列→UNICODE変換時で変換できなかった文字について、
UNICODEでの”・”に変換されたため、除去に失敗してた…。

モデルフォーマット

今作っているライブラリ専用モデルファイルを作成しようと色々考え中。

DirectXのXファイルを読み込んで、自分の形式にするコンバータ作らないとなぁと思って、まずはそれを準備してみようと思って作業中。
よってスキニングの仕組みを改めて調査&勉強してみたり。

スキニングモデルと単なるポリゴンメッシュのモデル、そしてアニメーション付き、
これらをちゃんと読み込んで変換するのはちょっと苦労しそうだ…。

アニメのことを考えると D3DXLoadMeshFromXは使えない。
D3DXLoadSkinMeshFromXofを使用するのか?と思いきや、LPDIRECTXFILEDATAは廃止に向かってるようだし、関数名変わってるし。


素直にアニメーションスキニングメッシュ読み込むサンプルをそのまま実装して、必要なデータだけ抽出するようにするか…。

2007/02/11(日) 独自モデルデータ

日記

モデルデータ

XファイルをD3DXつかってメモリ上に読み込んでしまい、その後構築したメッシュデータからデータにアクセスする方法で独自形式を出そうと計画中。

最初から全部バイナリデータ群で出そうとしていたけど、チェックが大変なので、

xerces使ってXML化しようとしてました。JavaではSAXでの読み込みやったことがあったから、楽勝かなと思っていましたが、それなりに苦労した。

今はスキンメッシュwithアニメーションのデータを構築完了なので、
どう情報収集できるかで相当時間を使った。
今日1日かかって、
  • アニメーションフレームの取り出し
  • 形状データのXML出力(最低限)
がなんとか出来た。

DirectXメモ

  • メッシュ内のバッファデータは、GetVertexBuffer,GetIndexBufferで取得できる
  • 頂点バッファの情報は、GetDeclarationや、GetNumVerticesで含まれている内容を知ることが出来る。
    • ただし、1頂点ごとのデータを細かく知るときにはStrideによるアクセスを考慮。Strideは GetNumBytesPerVertex()で取得できる
  • インデックスバッファの大きさを知るには、取得したインデックスバッファで、D3DINDEXBUFFER_DESCを取得してその中身を調べれば良い。