Is "generateTexture" culled by the viewport / camera?

It depends on how often you need to change the color, what you’re trying to optimize for, and how complex the graphics are. Tints are practically free. Changing colors in a Graphics object requires you to redraw it, which could either be cheap (the drawing operations only push to an internal array of commands) or somewhat expensive (in case you need to do a lot of calculations and do it often).

Realistically, it’s likely the deciding factor is going to be the size and complexity of the shapes. Graphics objects re-render their entire contents every frame, which can very quickly become expensive. Textures, on the other hand, are much cheaper, but often require more memory.