我的主场景由3D空间中的GL_POINTS组成。我想要做的是当用户在屏幕上移动手指同时保留底层3D GL_POINTS状态时,能够在场景顶部绘制单个GL_LINES线(2d叠加)。我很难理解这是否可行。我需要2个帧缓冲区吗?如何保存GL_POINTS的先前帧缓冲数据并在后续帧中重新渲染?我是否需要混合帧缓冲区 - 一个用于GL_LINE层,一个用于GL_POINTS数据?
我尝试只调用presentFramebuffer而不调用setFramebuffer,但是保留了从前一帧中提取的每个GL_LINES - 这是我不想要的。如何保留帧缓冲区的部分并删除其他部分?
答案 0 :(得分:0)
您根本不需要2个帧缓冲区
如果你的意思是帧缓冲区VBO(VertexBufferObject)那么它们根本就不一样了
一次使用GL_POINTS,一次使用GL_LINES / GL_LINE_LOOP或其他
如果您呈现不同的数据
如果您只需要单独的视图区域,则可以使用