Without any doubt, I'd advise to buy "Real Time Rendering" by Muller & Company (make sure you get the second edition). It's an awesome book I got a year ago and I wished I had since the day 0.
If you only know C, you must consider to move on to C++. While some people -like Carmack- still uses C, the community is mainly using C++. Here you need at least two books:
Thinking in C++ 2nd Edition is, by far, the best book to learn C++, moreover if you already have a background in C.
The C++ Programming Language is THE reference book. This is the typical book that every C++ coder has. It's like a technical dictionary: it's usefull to look up all your questions regarding C++, but it's hard to read.
Another book is "C++ Standard Template Library". It has all the implementation of the standard library of C++ and the STL (template library). You will find a lot of data algorithms and containerts like Vectors, Iterators, Arrays, etc there, so you won't reinvent the wheel.
As you start to understand OOP, you need to buy "Desing Patterns". Programming is like chess: you not only need to know how to move the pieces, but also how to come with winning movements. This is that book. It's now a classic, and you will find references to it in a lot of other books.
About DirectX, I didn't find a single good book. Not by Lamothe or others. I'd advise you to look online for tutorials and the DX8 info. It's all there.
If you choose the OpenGL path, take the Red and the Blue book, in their latest edition. I think you don't need any other book in OpenGL. One is tutorial, the other a reference Just make sure you get some technical reference to use it with Win32 or XWindows (there are tutorials online).
If you are serious about programming, you will need the 'fathers' of some topics, like the excelent Jim Blim books, 3D Grapgics, Principles and Practice, etc. But the books above should keep you really busy for one - two years. I think they are the best of the best and will save you money (and time).
In the future, there are other books like Game Programming Gems I, II and III, Graphic Gems (a bit outdated but awesome), etc. However they will only be usefull in the future (1-2 years) Right now, you don't need to know how to handle dynamical enviroments in nodes of octrees when you are also using portal techniques, dont you
? However, they will be useful in the future.
Hope this helps,