2010-04-12 31 views
2

我知道很容易在D3D10中拷貝頂點/索引緩衝區,使用 IDirect3D10 :: CopyResource(...) 接口。D3D9 Cooresponding CopyResource方法

如何在D3D9中做同樣的工作?有沒有類似的API?

回答

1

只需鎖定頂點/索引緩衝區和memcpy數據從一個到另一個。

+0

我想避免Lock方法,因爲Lock會在內部創建內存緩衝區,並且它可能內存不足。 我希望我可以在開始時保留一個緩衝區,並在映射時將目標緩衝區複製到保留緩衝區。 – Buzz 2010-04-12 09:24:45

+1

在DX9下沒有其他辦法可以做到。如果你想避免內存耗盡,請記住你可以一次鎖定一個緩衝區,這樣可以保持內存使用的可管理性。 – Goz 2010-04-12 09:45:43

+0

我的印象是,鎖定一個動態緩衝區基本上將該緩衝區的現有內存映射到您的進程中,所以鎖定一個緩衝區實際上並不使用任何額外的內存。 – jcoder 2010-04-12 13:33:09