Here is my complete proposal, with two different designs, please let me know if you find something weird or if you have other ideas.
This proposal is aiming to improve the Render Slots System in Blender 2.8, by creating a more standard and practicle frame buffer.
The current system works fine but it has a few limitations :
- It has a limit of 10 Slots
- You have to change the Slots you want to render to before actually rendering
Also the render view is missing a few features, like being able to easily compare two of your renders and being able to quickly adjust the exposure of the render. (maybe this has to be part of another proposal ?)
The idea is to implement a frame buffer that resize dynamically :
Each time you render an image, it overwrites the previous one if you do nothing.
While the rendered image is displayed, you can at any time click a button to add it to the frame buffer. The list of images in the frame buffer would expand automatically so you can have as many images as you want.
An option is available in the user preferences (or in the render view) to put automatically every render in the frame buffer.
At any time, it is possible to walk through all the images stored in the frame buffer.
If one of the images of the frame buffer is displayed in the render view, you can click a button to set is as background, so that you can put any other image on top in order to compare the two.
Then, you can choose the comparison mode in a list (alpha over, slider, substraction …).
In the frame buffer list, icons inform you of which image is set as background, and which one is displayed.
To adjust the exposure, a slider is available in the header of the render view, with a button to switch between the original value and and the modified value.
DESIGN (comparison between images and exposure tweaks do not appear here)
Addition to the current design :
Add button (+) : Enable when the displayed image is not in the frame buffer, allows you to put it in the frame buffer.
Delete button (-) : Enable when the displayed image is already in the frame buffer, allows you to delete the displayed image from the frame buffer.
These two buttons could work like the design of William Reynish maybe ? https://dev-files.blender.org/file/data/bc7rfdyh6y7qb3azutdw/PHID-FILE-enjhhtnnwt6xkm7tpcgr/menus_with_add_delete.gif
Set as background button : Enable when the displayed image is already in the frame buffer, sticks the displayed image as a background, after that if you render a new image or change the displayed image by another slot, this one appears in background (can be used for that https://blender.community/c/rightclickselect/7cbbbc/)
If the displayed image is the one that is set as background, the button can be used to remove the image as background.
If the displayed render is not in the frame buffer, it can be in a temp slot, named explicitly so that we know that it is not in the frame buffer.
The last render putted in the frame buffer has always the highest number (do the slots can be renamed ?)
IDEA 1 :
This first idea keeps the current design. The idea is just to add the buttons in the header.
IDEA 2 :
This design is a bit more practical, it is better if there is a lot of images in the frame buffer, and it is more accessible.