Although this function worked in 4.8 this is no longer valid in 4.9. This the SceneTexture:SceneColor not working in 4.9 is by design.
As the source code is available I suggest you comment the error in code and quite likely you content will work again (if not the solution below would be needed). We are doing engine optimizations and this change prevents some optimizations which haven’t been finished yet. Let me explain a bit: SceneTexture:SceneColor gives access to a intermediate rendertarget which is needed only during lighting. For postprocessing we want to free it and reuse the memory for the postprocessing. This is especially important for hardware like the XboxOne. I suspect many uses wanted to do color manipulations and did them by reading SceneColor - it seems the right thing to do. This goes wrong with TemporalAA as SceneColor is jittered and it looks bad. It also looks wrong with multiple PostProcessMaterials in a chain where you don’t get the data from the one before. PostProcessInput0 has that data and that is why the error message mentions this. The PostProcessing UI doesn’t make that clear and this is why we want to prevent that access. The correct fix would be to do reference counting on the SceneColor to keep it alive until no longer needed.
Hi,
I’m interested in this topic, as I used scenecolor like in this screenshot for various effect.
@ Bailey:
What do you mean by: "I suggest you comment the error in code and quite likely you content will work again ". What exactly are we supposed to do?
And when you say: “this change prevents some optimizations which haven’t been finished yet”, do you mean that scenecolor will work again like in 4.8 when these optimizations will be finished?
Cheers
Ed