我正在绘制大量的半透明多边形。我的场景是2D并使用2f顶点。我不能使用深度缓冲区,因为它不会帮助,因为alpha混合。什么是其他一些技术来减少透支,因为这是削弱我的应用程序,而不是多边形计数,因为我使用VBO的。谢谢防止透支(OpenGL)的技巧
1
A
回答
4
首先,你怎么确定透支是你的问题?如果没有更多关于你正在绘制的信息,很难猜测如何更快地绘制它。一般而言,避免过度抽取的关键是避免画出任何不需要的东西。所以,如果你有一个2D侧滚动游戏,并且为了视差目的而独立滚动几层背景图像 - 天空,云彩,山脉,远处的森林和附近的森林 - 你会想要避免在任何其他地方绘制天空图层可见。因此,如果您知道山脉确保覆盖天空的某一部分,请改变天空多边形的形状,以便只在您期望天空可见的区域绘制。如果您仍然有问题,可能会为跟随山脉形状的天空创建一个相当高分辨率的网格。同样,如果森林层的地平面保证覆盖一定的高度跨度,那么不要在该地区绘制山脉。
在现代视频硬件上,OTOH在2D场景中透支的几层通常不是什么大问题,所以我仍然很想知道你是如何确定这一点的,并且如果可能有某种类型的你的仪器和分析中存在偏差,这可能导致你误入歧途。
0
在你的特定场景中,我会考虑将一些图层渲染成OpenGL FBO(静态图层)。 然后合成动态图层和静态图层等
毕竟,如果它是一个矢量绘图应用程序,您不需要在每次用户交互时重绘所有内容。
相关问题
- 1. 防止透支
- 2. 如何防止透支?
- 3. 在2D opengl游戏中支持多屏幕的技巧?
- 4. 防止意外重新枚举IEnumerable的技巧?
- 5. 在Rails3中防止垃圾邮件的技巧
- 6. 什么是Git的分支技巧?
- 7. 防止OpenGL清除
- 8. 脚本技巧
- 9. nVidia SLI技巧
- 10. CSS hacks(技巧)
- 11. 用于在OpenGL中绘制共面多边形的技巧
- 12. 使用着色器在OpenGL中绘制Spritesheet的技巧
- 13. 提高Android上OpenGL ES填充率的技巧
- 14. 的Eclipse Ganymede黑客,提示,技巧,技巧和最佳实践
- 15. 高性能C#服务器套接字的技巧/技巧
- 16. iOS5开发技巧
- 17. CSS技巧或javascript
- 18. Ruby配置技巧
- 19. Alexa技巧离线
- 20. Asterisk编程技巧?
- 21. Eclipse构建技巧
- 22. Sphinx搜索技巧
- 23. runOnUiThread使用技巧
- 24. 卡技巧程序
- 25. Prolog逻辑技巧
- 26. DTS-调试技巧
- 27. Java程序技巧
- 28. PHP解析技巧
- 29. 企业JavaScript技巧
- 30. 技巧依赖关系的Mysql技术
“透支”究竟是什么意思?仅仅因为你使用VBO并不意味着你不能一次尝试渲染太多。 – 2010-06-30 23:21:10
@Jon Cage:基本上,渲染场景时多次绘制相同的像素。使用半透明多晶硅时,一些透视是必要的,但我敢肯定,您可以前后排列您的多面体,然后使用一些模板魔法在已经绘制像素几次之后不绘制像素。 – 2010-06-30 23:25:05
我的意思是,如果我绘制一个50x50的正方形阵列,它不会滞后,但是在另一个顶部的50x50正方形1确实很多。 – jmasterx 2010-06-30 23:25:23