我用点精灵在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