Its been ages since I discussed about graphics rendering, since I no longer frequent boards in which this is a topic (namely Ngemu.com). Mainly due to me losing interest in the whole emulation development scene, due to some reasons.
I have been however, watching over it, to see how things unfold. However, I have seen several misconceptions about DX10, DX9, and OpenGL.
One of them, is godrays under DX10. That, is a complete and utter misconception. It is possible to render raymarched underwater godrays in DX9, and hence, OpenGL 2.0:As shown in the screenshot from "Just Cause", a PC/Xbox360 title, underwater raymarched godrays, along with depth of field are easily rendered in DX9 and therefore OpenGL 2.0. Not to mention: soft shadows, parallax mapping, depth of field, refracting water, a
model of light scattering and absorption for underwater rendering, caustics, and SSAO are easily done under DX9. Hence in Crysis, is there really a need for the DX10 renderer?
To be honest though, the only real benefit DX10 should offer is improved instancing (for more speed) & more flexible shader operations under Crysis, since its plainly obvious, all the effects can be done under DX9. However, with OpenGL getting improvements, whats the point in making a API Vista only? Plus, if you work hard enough, shader model 3.0 shaders should be fine, along with procedural code on the CPU.
So basically, imho, DX10 under Crysis offers basically nothing. Considering that performance in tests has even shown to decrease in DX10 mode, shows really, why the need for it? Seems all marketing spiel to me.
So in that case, DX1o does not rule. It indeed sux, because it doesn't exploit it well. I have to admit though, if the implementation is done right, DX10 rendering can be quite good.