HDMI is just "DVI with knobs on" on the video side.
As to "can it be done"... my first question is "what FPGA"? Some of them can create HDMI/DVI signals with the IO blocks, others just fundamentally can't.
DVI uses TMDS signalling, which is an encoding on top of a Current Mode Logic (CML) differential pair. CML is actively pulled down by a current source for a '0' and floats high with a termination resistor at the far end for a '1'. It might be emulatable for a hobby project by using a bidirectional LVDS pair driven low and using the tristate line to drive and release (a bit like doing an open-drain drive).
Then you have to encode and serialise the data. TMDS describes how to encode the data bits, and then you you "just" have to serialise the data bits across the data pairs. The specification can be found here - see section 3:
Digital Visual Interface Spec
The TFP410 chip data sheet also has a reasonable description of what goes on:
TFP410 - TI PanelBus™ DIGITAL TRANSMITTER
Is this a good method? - well it's not production worthy, but if you learn something from it then it's probably good.
You don't give enough information so we all have to make assumptions, but you claim to have something almost working and you indicate you have your suspicions as to what is wrong so I'll use this as a learning opportunity.
Just don't try to put this into production ...
You suspect that the VGA input is loading the resistor network. You're right, The standard procedure then would be to put a voltage buffer between the R-2R network and the VGA input. Choose a nice R-R (rail to rail) amplifier that is fast enough and put it on a clean supply. Make sure it's input impedance is high so this it doesn't load the R-2R network also.
The other issue you will have is the noise from the Logic levels in particular the power supply noise on the MSB will drive straight into the VGA inputs, you'll see ripples going through your screen. i.e. your PSRR will be 0 dB )or close enough) Simply put a digital buffer on the input that has a separate clean power supply, (shared with the O/P amplifier). Slow down the edges on the input and output just to keep things well behaved.
This should work fairly well. All the hand wringing about resistor accuracy is for the most part only important if you are looking for reproducibility from unit to unit. The INL will be dominated by the resistor accuracy, and the reproducibility of the DNL will be dominated by the resistor mismatch. But it is guaranteed to be Monotonic and given the human eye insensitivity to display gamma this should be mostly passible. And yes, you may have posterization in your colour tones (i.e. the shading transitions will noticeably weird).
I've dropped a number of terms in here to help guide your research, INL, DNL, Monotonic and Gamma, look them up, understand them.
Exploring techniques and topologies, and learning the limits and why things are done the way they are and how they fail is an important way to learn.
Best Answer
Why use a microcontroller just to boost a signal ?
A simple op-amp is just what you need.
Here is the Maxim's page for Amplifiers according to the resolution (SVGA is 800x600 ah FredP said): http://www.maximintegrated.com/products/video/amplifiers.cfm
HSYNC and VSYNC are TTL signals so a small buffer is sufficient.
VGA Electrical FAQ