日記(829)

<前 次>

無題

IE8を入れました。
早い早いとMSさんは言ってますがまずサーバーの応答が遅いのでどうにもなりません。
他のブラウザも速さを自慢しているようですが、逆に言ってそういうブラウザが必要なほど重いサイトが多いというのがどうにかならんのかなーって思います。

ちょっとカプセル型を描画する関数を作ってみました。
メッシュを作る方法が良く分からなかったので、ひとまず座標を指定して直接描画する関数にしてみました。
カプセル座標における単位ベクトルの作成で座標が左手座標系から右手座標系に変わってしまってカプセルが裏返ったり、インデックスがずれて穴が開いたりもしましたが、何とかうまく表示できるようになりました。
もうちょっと体裁を整えたらプログラミングのページにまたアップしたいと思います。

1242397309.png

無題

D3DXCreateSphereに近い関数を自作しなければならない状況ができたので、お手本となるD3DXCreateSphereについてまず調べてみました。
で、調べた結果をアップしてみました。
ここんとこ自分のことばっかりで更新が滞っているのでいい機会です。

無題

どうやら、D3DXCreate~系の関数はメッシュの作成時にD3DPOOL_MANAGEDのオプションをつけて、デバイスのロスト時に備えてコピーをとるようにしているため、メモリ使用量が増え続けるようです。
でもReleaseしてどこからも参照されなくなったオブジェクトでもコピーって必要なんでしょうか…。
ためしにほっといたらコピーがたまり続けて何百MBにもなってたし…。

無題

なんだか今日は妙にDirect3Dが重くて、調べてみたところ、なぜだか秒間30KBぐらいずつメモリ使用量が増えていっている模様です。
しかもなぜかライブラリ関数のDrawSubsetで。
メッシュのポリゴン数を増やしたら最初は勢いよくメモリを消費するけど最終的には元のペースに落ち着くし、DrawSubsetを複数回呼び出すとその分メモリ使用量が増えます。
動作が重いほうはどうにもBeginSceneとEndSceneだけでなるようだし…。

ふにゃさんのほうは、項目選択系の設定変更ができるようになりました。
ただ、設定変更したときに特別の処理を要するもの(BGMなど)に関してはまだ対応できていません。
あと、BGMに関しては、元々あったBGM変更ボタンは無効にして、設定でのみ変更可能にしようと思います。

無題

例のWikiの入力支援ソフトをちょっとバージョンアップしました。
・演出入力フォームをウィンドウの大きさに追随するよう修正
・絵コンテと演出リストの参照データを分離
・スタッフ名のオートコンプリート機能
・「@wiki記法で表示」のウィンドウでも編集可能に
・声の出演を直接入力したとき重複登録しないように

無題

とりあえず点の当たり判定も作ってみました。
当たり判定に使う形状の種類を増やすとその数の2乗に比例して処理が多くなってくるので最低限の当たり判定でやっていきたいところですね。

なんて素敵な土曜日

トゥーンレンダリングのページをちょっと移転しました。
例によって最低1年間はリダイレクトしているので特に気にする必要はないかもしれませんが。

んで、例の当たり判定プログラム、球の当たり判定だけですがいろいろ動かせるようになったのでちょっとアップしてみます。
Debugフォルダの3dgame1.exeが実行ファイルです。
操作は以下の通り。
・全モード共通
 Tab・Shift+Tab:ターゲット切り替え
 W:押している間ワイヤーフレーム
・カメラ操作モード(ターゲット指定なし)
 上下左右:見る方向を変える
 Z・Shift+Z:前進
 X・Shift+X:後退
 Shift+上下左右:上下左右へ移動
・オブジェクト操作モード(対象オブジェクトが点滅)
 上下左右:オブジェクトをこちらから見て上下左右に移動
 Z:オブジェクトを遠ざける
 X:オブジェクトを近寄せる
 Shift+上下:オブジェクトの拡大縮小
・表示内容の説明
 FPS:60/60だと正常。これが30/60とか小さくなってると処理オチ
 CPU:CPU使用率の目安。100%だと余裕なし
 Sphere:球。中心の位置をカッコ内に、半径をRに
 AABB:オブジェクトの周りにある黄色い直方体。判定高速化のため必要
 Collision:trueなら衝突。上のAABBも同様

1241880911.zip

<前 次>