redo viewportmodificatios

add framebufferobjects (not used yet)