2013-02-28 178 views
0

我正在寻找一种方法来清除屏幕只有一个点,而不必重新绘制其中的所有对象。那可能吗? “最多一点”的意思是,如果我在屏幕上有20个对象,每个都存储在单独的缓冲区中,每次我想要删除一个对象时,我必须用glClean清除整个屏幕,然后重新绘制剩余的对象。我想要的只是删除最后一个对象,而不必重绘整个事物。对象是FIFO,所以没有订购问题。我希望有像推送一个上下文每个让我们说10个对象,并只清理/重绘该上下文,而不是所有的对象。在OpenGL中清除屏幕

+1

没有“最后的物体”;屏幕上只有像素。请记住:OpenGL不知道“对象”是什么。所有的OpenGL都是着色像素的一种奇特方式。一旦这些像素着色,就完成了。你无法撤销。你只能重做一切*但那*。 – 2013-02-28 01:31:52

+0

我明白了。通常情况下,如果我使用正确的技术(我正在制作一个绘图软件,并使用网格绘制,但我现在已经看到我应该绘制纹理来代替),则可以避免出现问题。 。 – Meda 2013-02-28 01:40:25

回答

4

包含任何内容的像素缓冲区数据在后面;您希望删除的对象已从光栅化中丢失。您必须再次渲染剩余的对象才能正确计算出您所移除的对象背后应该出现的内容。