2012-06-04 106 views
0

我想在XNA中繪製一系列正方形。我正在查看所有關於TriangleStrips和DynamicVertexBuffers的文章。但是,不知道從哪裏開始。XNA繪製一系列正方形

當前步 我能夠得出使用VertexPositionColor,TriangleList和指數1平方米。現在我想繪製一系列不同顏色的正方形。

最終目標 東西要記住這樣的廣場,我想能夠繪製,最終的數目。如果我們假設一個5像素寬,1920×1080的屏幕上,我們可以計算出平方(1920 * 1080)/ 25 = 82944.

如何實現,這將是偉大的任何指針的數量要!

回答

0

一般來說,您可以繪製更多的方塊,就像繪製第一個方塊一樣。但是,性能會有很大的損失。

相反,您可以將所有三角形添加到一個頂點緩衝區/索引緩衝區。你已經可以繪製兩個三角形作爲三角形列表。您應該可以輕鬆地調整此例程以繪製兩個以上的三角形。只需將相應的頂點和索引添加到緩衝區並修改繪圖調用即可。

如果您需要在不同顏色的同一位置的頂點,你需要兩個頂點添加到緩衝區。

這樣,性能損失很小,因爲你只有一個繪製調用進行繪製的一切。儘管對於大多數顯卡來說三角形的數量應該不成問題,但一些較小或較舊的顯卡可能會遇到麻煩。如果是這樣,你應該考慮改變你的繪圖策略。也許甚至沒有必要繪製那麼多的三角形。但你可以考慮一下,如果結果表現太低...

+0

謝謝,我會試試這個。 – States

0

如果你不關心3D,只需2D - 你可以使用SpriteBatch在屏幕上繪製正方形/長方形。這將處理爲您分配所有頂點/索引緩衝區管理。

+0

我希望能夠在某些時候做3d。 :) – States

+0

夠公平的。在這裏留下這個答案,以防其他不關心3D的人在這裏登陸。 – Ani