There cannot be a pixel shader in an OpenGL program it is refered to as a fragment.
That's simply a nitpick and given you know the term "fragment" you should know this
The point is that the underlying shader units can be exposed as long as the API supports them. Even if the core OpenGL doesn't then extensions most certainly do.
BFG could you please name an instance where a pixel or vertex shader has been used in OpenGL code?
SM 1.x functionality has been used in a lot of Quake III based games game such as Jedi Knight II Outcast, Jedi Academy, Soldier of Fortune II and Call of Duty.
Also SM 2.0 functionality is used in Doom III through the standard ARB path.
I doubt that Doom3 uses any DirectX, even thru OpenGL "extensions".
It's nothing to do with DirectX; it's all about the hardware.
The hardware has those shader units no matter what so they're completely decoupled from Direct3D or OpenGL. Then any API that wants to expose the features can come along and use them (for now the only two APIs are Direct3D and OpenGL).
The Doom 3 engine was completed over two years ago so I doubt it.
Considering it's only just gone Gold I think not. The bulk of the shader work was done only in the last year.
No, it doesn't, and it won't. They will not overhault their engine to support a new standard without releasing a new product.
They didn't overhaul it, they just added another path. The ARB path supports and takes advantage of DirectX 9.0b features (though obviously through OpenGL).
Doom3 is being released for the macintosh. The macintosh does not support directX
Again, you need to understand the concept of decoupling the hardware from the API.