名称
glInvalidateFramebuffer — 使帧缓冲区中的附件内容无效
C 规范
void glInvalidateFramebuffer( GLenum target,
GLsizei numAttachments,
const GLenum *attachments);
Parameters
target
指定无效操作的目标。
numAttachments
指定附件列表中提供了多少个附件。
attachments
无效的numAttachments附件列表。
描述
glInvalidateFramebuffer向GL发出信号,它不需要保留绑定到目标的帧缓冲区的所有像素。目标必须是GL_READ_FRAMEBFUFFER,GL_DRAW_FRAMEBUFFER或GL_FRAMEBUFFER。令牌GL_FRAMEBUFFER被视为GL_DRAW_FRAMEBUFFER。附件包含要失效的numAttachments列表。如果指定的附件在绑定的帧缓冲区中不存在,则将其忽略。
如果绑定了帧缓冲区对象,则附件可能包含GL_COLOR_ATTACHMENTi,GL_DEPTH_ATTACHMENT,GL_STENCIL_ATTACHMENT和/或GL_DEPTH_STENCIL_ATTACHMENT。如果帧缓冲区对象不完整,则可以忽略glInvalidateFramebuffer。
如果绑定了默认帧缓冲区,则附件可能包含GL_COLOR,用于标识颜色缓冲区; GL_DEPTH,标识深度缓冲区;和/或GL_STENCIL,标识模板缓冲区。
注意
该功能的目的是向GL实现提供提示,即不再需要保留帧缓冲区对象或默认帧缓冲区的特定附件的内容。例如,有可能发出信号,表示在场景结束时不再需要深度和/或模板数据,或者在通过glBlitFramebuffer解析后不再需要多样本颜色缓冲区数据。
错误
如果目标不是GL_DRAW_FRAMEBUFFER,GL_READ_FRAMEBUFFER或GL_FRAMEBUFFER,则生成GL_INVALI

glInvalidateFramebuffer是一个OpenGL ES 3.0中的函数,用于标记帧缓冲区附件的内容为无效,从而通知GPU不需要保留这些内容。它可以应用于帧缓冲区对象或默认帧缓冲区,涉及的颜色、深度和模板附件。此功能通常用于优化,比如在不需要某些缓冲区数据时通知GPU释放资源。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



