While the GTX 770 is really only a refresh of the GTX 680, it does come with higher clock speeds which gives it a slight performance advantage.
It's a bit faster than a HD 7970 GHZ Edition too.
The HD 7970 /GHZ however have got a wider memory bus and perform very well at higher resolutions such as 2560x1440 or multi monitor gaming.
They also gain a lot more performance than the GTX 770 through overclocking.
An overclocked HD 7970 is as fast or faster than an overclocked GTX 770.
With that said, the Nvidia card does have some extras you might find usefull like Shadowplay or Geforce experiance.
The AMD card however has a richer game bundle.
These two cards would be best.
http://www.scan.co.uk/products/2gb-msi-gtx-770-gaming-pcie-30-(x16)-7010mhz-gddr5-gpu-1098mhz-boost-1150mhz-cores-1536
It's significantly overclocked which makes it a good bit faster than a HD 7970 GHZ at stock and also has a very silent cooler.
http://www.amazon.co.uk/dp/B0074VVTPI/?tag=pcp0f-21
Works at very, very low temperatures for a high-end card and is one of the best overclocking HD 7970 you can find. Also very silent.
The GTX 670 uses significantly less power than the other two cards, but is also slower. Go with a GTX 770 or HD 7970.
In the end, chose the card you like best.
You really can't go wrong.
The GTX 670 uses significantly less power than the other two cards, but is also slower. Go with a GTX 770 or HD 7970.
EDIT : (a reply to fudoka)
Less heat : yes
Less power: yes
Less noise : depends on the cooler. The reference HD 7970 cooler is bad while the reference cooler on the GTX 770 is the same as the one used in the Titan.
You're not going to buy a HD 7970 with the reference cooler, and there are no GTX 770's that use the Titan cooler that I know of.
More overclocking friendly : You get a thermal limit which makes it harder to overclock and you ca also get very little performance out of a card that's already running near its max. Just no.