To reiterate, post-processing entails a two-step approach to the draw function.
Specifically, to render an object with a post-process applied…
Note the symmetry between the two halves of this function. Each half binds a framebuffer, clears it, binds a texture, uses a shader, and draws a model. Each of these is called a pass. This is, thus, a two-pass rendering process.