我用點精靈在direct3d9中製作具有動態頂點緩衝區的粒子進行批處理。但我只能以30fps創建2500個粒子。我在互聯網上看到他們可以創造出數以百萬計的微粒。我如何在Direct3D中製作數百萬個粒子?優化的粒子系統Direct3D 9
回答
2500粒子非常低。你是用他們自己的Draw(Indexed)Primitive調用來繪製它們嗎?如果是的話,這是做錯事情的錯誤方式。使用DirectX,您希望將您的繪製調用降至最低。你應該用動態頂點緩衝區填充所有的座標位置,然後用一個Draw(Indexed)Primitive調用渲染它們。
我用配料技術繪圖。在一次平局中獲得512分。你能舉個例子嗎? – 2013-05-11 02:14:48
@DilhanGeeth:我真的沒有例子,如何把你的代碼放在一起... – Goz 2013-05-11 06:24:25
http://pastebin.com/t7eVxG9j – 2013-05-12 03:52:44
- 1. 如何使用粒子對象優化畫布粒子系統
- 2. 粒子系統
- 3. AndEngine粒子系統
- 4. SFML.NET粒子系統
- 5. 粒子系統libGDX
- 6. 粒子系統DontDestroyOnLoad
- 7. 粒子在粒子羣優化(PSO)
- 8. 統一3d - 粒子系統
- 9. 粒子系統:粒子生成
- 10. 使用獲取/設置粒子來實例化粒子系統
- 11. OpenGL的粒子系統
- 12. libGdx中的粒子系統
- 13. SFML粒子系統架構
- 14. 粒子系統錯誤
- 15. 如何給粒子系統
- 16. C++粒子系統Allegro 5
- 17. XNA粒子系統性能
- 18. 粒子系統設計?
- 19. 自定義粒子系統
- 20. OGRE - 創建粒子系統
- 21. 粒子系統中的粒子表現怪異
- 22. 帶Open GL ES的UIKit粒子系統?
- 23. 2d中的粒子系統入門
- 24. cocos2d中的多粒子系統
- 25. 用於粒子系統的GLSL PointSprite
- 26. 粒子系統的頂點着色器
- 27. 安全系統的優化
- 28. 微粒羣優化慣性因子
- 29. Unity粒子系統到精靈表
- 30. 如何獲得粒子系統之一?
這100萬個粒子演示通常在CPU上完全計算,而無需從CPU端傳輸任何數據。如果你想計算CPU上的粒子,因此必須將數據發送到GPU,10K粒子是一個正常值。 – Gnietschow 2013-05-10 18:39:16
我如何在GPU中做到這一點? – 2013-05-11 02:13:57
這太複雜了,不能在這裏解釋它,但是在互聯網上有很多來源,它們在那裏被描述,例如, http://www.2ld.de/gdc2004/MegaParticlesPaper.pdf(沒有閱讀它,只挑選了一些隨機鏈接的主題) – Gnietschow 2013-05-11 10:01:05