You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Daniel Grace edited this page May 24, 2019
·
1 revision
Opengine takes a philosophy of "optional hiding." If you want the "standard behavior," you should be able to opt into the standard behavior. But if you want to make that element a key aspect of your game, you should be able to take on that responsibility yourself and tweak.
One element where that is particularly evident is in the framebuffer. At the lowest level, when you double buffer you have two completely separate render passes, one for each of the buffers. With triple buffering, there are three.
Opengine aims to hide all of this from you if (as I imagine is going to be the case in the vast majority of cases) just want double or triple buffering.
We do this with an ImageSet.
ImageSet
An ImageSet is a way to treat multiple actual images as a single logical image. Opengine calls this an ImageSet rather than an Image because it wants to acknowledge the truth, even if it's possible to ignore it.
ImageSetSet
The brilliantly named ImageSetSet is a set of ImageSets. These are multiple logical images. One example is a gBuffer. With a gBuffer one shader pass renders into a set of images that are then later combined into a single image. But for a bit, the information exists as four (or more) logical images.
An ImageSetSet would be used to represent the output of a gBuffer, one ImageSet per logical output.