This gives more control to the application about how shaders are loaded/unloaded, and it fits in much more nicely with PPV2's resources.
Shaders are currently just serialized as part of the scene component, which isn't the optimal solution yet.
The way this works: compute luminance always outputs an auto-exposure value. The passes using exposure as input can either use this auto-exposure, or use the default read-only exposure value, or use an application-provided exposure.
- Implemented 1x1 exposure texture and bound it to the compute shader.
- Implemented RCAS config data set with precomputed values (so we don't have to do any unsafe float-to-int conversions), apply it to a constant buffer, and made sharpness available as a slider in the inspector.
- Yoinked a bunch of code from MadGoat SSAA to build a custom render scaler
- Added a simple shader to check some of the render buffers during upscaling
- Successfully ported the RCAS compute shader from the FSR2 project into Unity!