我有一个场景,我在两个FBO之间切换。两个FBO共享相同的深度/模板附件,只是颜色附件不同。现在,如果我在调用glBindFramebuffer之前调用深度/模板附件上的glInvalidateFramebuffer,这是否会有任何好处,因为附件在FBO之间重用,并且gpu应该能够识别这一点并避免不必要的内存操作?
谢谢。
发布于 2020-01-29 05:12:08
原则上是这样的。一旦你将一个附件标记为“无效”,那么它的内容就是未定义的,直到有人向其中写入新的数据。
在实践中,我怀疑,如果你想获得全部好处,你就得看司机在FBO上的状态跟踪有多好了。
我建议分别为每个FBO发出所有必要的清除和失效;它们不是昂贵的操作。
https://stackoverflow.com/questions/59947602
复制相似问题