防止透支的技术(OpenGL)

jma*_*erx 1 c c++ opengl

我画了很多半透明的多边形.我的场景是2D并使用2f verticies.我无法使用深度缓冲区,因为它不会因为alpha混合而有所帮助.还有哪些其他技术可以减少透支,因为这是我的应用程序瘫痪,而不是多边形计数,因为我使用VBO.

wro*_*ans 5

首先,您如何确定透支是您的问题?如果没有关于您正在绘制的内容的更多信息,则很难猜测如何更快地绘制它.一般来说,避免过度抽取的关键是避免抽取任何不需要的东西.因此,如果您有一个2D侧滚动游戏,其中几层背景图像独立滚动以用于视差目的 - 天空,云,山脉,森林远处和森林附近 - 您可能希望避免在任何其他地方绘制天空图层是可见的.因此,如果您知道山脉保证覆盖天空的某个部分,请将天空多边形的形状更改为仅在您希望天空可见的区域中绘制.潜在地,为天空制作一个相当高分辨率的网格,遵循山的形状,如果你还有问题.同样,如果保证森林层的地平面覆盖一定的高度跨度,则不要在该区域绘制山脉.

OTOH,在现代视频硬件上,2D场景中的几层透支通常不是什么大不了的事情,所以我仍然有兴趣知道你是如何确定这一点的,以及你是否可能存在某种偏见仪器和剖析可能会让你误入歧途.