インデックスバッファ

DirectX9では16bitインデックスバッファが主流だったように思います。しかし、DirectX10以降はインデックスバッファも32bitインデックスとなってしまったようです。
生成時に16bitであると設定するものが見あたらない…。

DirectX9から10以降まで1つのAPIセットで対応するライブラリ作ってますが、
このような違いってどうしたものやら。

  1. フォーマット指定を追加。使えない環境(DX10世代)ならエラーにする
  2. あくまでフォーマット指定はヒント。
    1. 書き込み時とかには生成された結果フラグをみてUSHORT, UINTでインデックスを書き込み

どちらの方法にしてもキレイにならない気がします…。

  • 過去日記に同じようにこの情報を書いていました。10環境では16bitインデックスがなくなった、と。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. test より:

    入力アセンブラへインデックスバッファをバインドするときにフォーマットを指定できます。
    http://msdn.microsoft.com/ja-jp/library/bb173588%28VS.85%29.aspx

  2. slash より:

    そうですね。きちんとAPIを調べてみたら、16bitインデックスを設定できました。
    情報ありがとうございます。
    DX11においてもまだ16bitインデックスは使える模様ですし。