If I change the window size to match the size of my FBO (in this case, 200x100), the result is as expected:

However, if I leave the window size larger, and try to render to this small FBO, the contents of the rendered texture get weird:

The texture is being blown up to several times its actual size. My orthogonal projection matrix is set to the FBO size, which I assumed to be correct since that is the only surface I am rendering to. I don't know what else there is that would need to be adjusted.
I just don't understand why the window size would have any impact on the result rendered to the FBO, since the FBO is completely separate from the window's backbuffer.
Do I need to do something special to projection matrices when rendering to a FBO size that doesn't match the window size?






