As for whether you should learn DirectX for your profession and/or hobby I guess that depends what you want to do as a profession and a hobby. If you want to write 3d engines and/or low level games engines, then you're going to need to learn DirectX if you plan on supporting Windows. If you're going to write games, on the other hand, then it's entirely up to you. Some people do, some people don't. Ultimately you need to decide what level of programming you're most comfortable with. I'm a big fan of high level programming. I only ever go to low level code when it's essential. But I don't discourage people from being low level guys because someone has to write the low level stuff I use in my games.
The shaders in DX7 are non-existant. They didn't exist until DX8. I know one or two people confuse the issue by calling certain effects shaders, but they're just needlessly confusing the issue.
The shaders in DX7 are non-existant. They didn't exist until DX8. I know one or two people confuse the issue by calling certain effects shaders, but they're just needlessly confusing the issue.