2010-03-22

調査・実験

Direct3D9。1フレームの間に(BeginScene~EndSceneの間に)、一つの(動的)テクスチャに対してCPUから書き換えては描画を何度も繰り返しても大丈夫なものなの? 一応手元のマシンではちゃんと動くみたいだけど。それにしてもDirect3D9はビデオカード/ドライバによって差がありすぎ。こんな大量のCAPSチェックしきれないよ。ユーザーだって自分のハードが何に対応しているかなんて把握していないだろうに。それは結局サポートのコスト増につながるわけで……。せめてDirect3D10が使えればなぁ。XPなんて今すぐ消えて無くなればいいのに。

視錐台クリッピング(Frustum Clipping)。結局ソフトウェアでラスタライズする方も強化せざるを得ないわけで。近平面クリッピングが無いと床や天井みたいなものに使いづらくて困ってたんだよね。基本的にはSutherland-Hodgman clipping algorithmを3Dへ拡張する感じ。つまり、境界面の外側にある辺は削除。境界面をまたぐ辺は外側の頂点を境界面との交点で置き換え。内側の辺はそのまま。後はそれを境界面の数だけ繰り返すだけ。