I've never programmed a micro to generate a composite signal myself so i'm not sure how complex you can make the image before you hit the limits of 8bit micros. I imagine the number of colors that can be generated is quite low due to the processing required.
If i was generating a composite signal i'd probably use a 32bit STM ARM micro so i have lots of speed available.
Here's someone making a composite signal with an atmega. Looks like they have implemented a graphics library as well
http://instruct1.cit.cornell.edu/courses/ee476/video/Here's someone generating a VGA signal with an atmega
But, as you can see the pixels are quite large. That's because the 20mhz atmega cant generate the 25mhz pixel clock needed.
Because its clocking the data slower the resolution is less than 640x480. In this case its only 128x120 pixels
http://www-user.tu-chemnitz.de/~heha/Mikrocontroller/VgaGen/VgaGen.en.htmlYou will notice the code is in ASM. This is because the atmega is being pushed to the limit of what is possible on a 20mhz micro and the timing is critical.
A proper VGA driver board with graphics library will be 100 times better than both the methods above.
It will support the full resolution and allow you to draw any color. I think some allow you to load in bitmaps too.
And because you are just sending serial commands to the driver board speed isn't much of an issue.
The driver board takes care of updating all the pixels 60 times a second, you just tell it to draw a bitmap, or draw a box etc. and it will be double buffered as well.