- Multiple viewports with individual cameras.
- Post effect nodes (for simplicity for example B&W).
This is how the features above are currently solved:
- Multiple viewports are done by having multiple workspace def's and workspaces that are almost identicaly except from the clear pass only being executed by the first workspace and clearing the entire screen (using execution & viewport modifier masks). Created with unique viewport, execution mak, and default camera, per viewport workspace. This works well. (I'm currently recreating the workspaces when switching camera, because I'm not sure if it's safe to just change the camera on the scene pass def without recreating.)
- Post effects are done very similar to the Post effect sample project. The first workspace defines two render textures, and they are "ping-ponged" through the rest of the post effect nodes.
- Viewport modifier mask appears to be used multiple times (see images). I think this is actually the B&W node not knowing that the input texture that it's reading from (rendered by the scene pass of previous node) has only been rendered to half the texture? It would be great if the quad rendering would know this when sampling, so that it samples from the "inverted viewport modifier" area... sort of? Or should I instead solve it by creating smaller viewport-sized render textures for each viewport workspace, which are passed through the node chain, and then only the last node uses the viewport modifier to only write to one half of the render window?
- I'm think I'm currently creating more render textures than needed, or too large. I think my current setup probably creates 2 x 2 = 4 full sized render textures (2 per viewport) since I define them as local for the start node of each workspace chain? Should I try to re-use the full-sized render textures between viewport workspaces? Or should I do the "reduced-size-viewportlocal-textures" solution mentioned previously?
Splitscreen with B&W post effect node:
Any ideas? :) What is the recommended way to proceed?
ps. The solution that is most compatible with any other systems (HDR, SSAO, Ogre default post effects, etc.) would be preferred.