iota97's "Motion blur" - LCD persistence shader, plus fixes to make it work with OpenGL#16531
iota97's "Motion blur" - LCD persistence shader, plus fixes to make it work with OpenGL#16531unknownbrackets merged 6 commits intomasterfrom
Conversation
…ious but good to fix)
|
Oh no, just noticed there's a strange flicker glitch in GTA's map screen when you use a usePrevFrame shader. Every second frame is sized a bit wrong. Seems we need to scale the prev-frame image somehow in some situations? Anyway, not a regression, but also not ideal since the feature is now a bit more visible. |
|
Hm, I guess I didn't think about the framebuffer size being different every other frame. Figured the output would be the same... I will say, it's imaginable that someone designs a post-shader chain that uses the previous frame final output in not the final shader. Of course, if you just do that in a persistence shader and bloom afterward, you'll get the bloom adding up. So usually it won't make sense, probably for every case someone would use it for... but it isn't necessarily "broken." Of course, there might be an argument for keeping around the previous input to this shader chain stage, which might (or might not) be more useful. Probably makes more sense for LCD simulation... -[Unknown] |
This takes #16522 by @iota97 and adds a bunch of fixes, it now works with OpenGL.
For example, makes sure that shaders that use the previous frame are always at the end, and there's always only one.
Additionally fixes a lifetime issue.