Ab.の日記: 16bitの壁じゃなかった…
日記 by
Ab.
45k頂点/30k頂点じゃなくて、45k/30k triangle (triangle list で) だったのでした。
大雑把に binary search してみた所、1辺を147分割した正方形を一度に triangle list で突っ込むとOKで、148分割なら駄目。
(147^2)x2x3 < 128x1024 なんだけど (148^2)x2x3 > 128x1024 なので、128k頂点が駄目なのかな?
それとも D3DVERTEX 構造体が float x8 で構成されてるので、4M byte に壁があるのかな?
大雑把に binary search してみた所、1辺を147分割した正方形を一度に triangle list で突っ込むとOKで、148分割なら駄目。
(147^2)x2x3 < 128x1024 なんだけど (148^2)x2x3 > 128x1024 なので、128k頂点が駄目なのかな?
それとも D3DVERTEX 構造体が float x8 で構成されてるので、4M byte に壁があるのかな?
DrawIndexedPrimitive() は頂点 index が 16bit なので、いずれにせよ一度に放り込む頂点数は64k個以内の方が安全かも。 あと、ソフトウェアで座標変換することを考えると、一度に放り込む頂点データは64~128kbyte 程度に抑える方が良いか…
16bitの壁じゃなかった… More ログイン