directx与硬件的关系,该如何处理

directx与硬件的关系
假如我的显卡是DirectX9显卡,有一个程序是用C写的DirectX9程序,是否可以运行在非Windows平台?
举例:C写的DirectX9程序,可以在纯Dos下运行吗?

------解决方案--------------------
还记得创建D3D设备时,要指定窗口句柄吗?
------解决方案--------------------
OpenGL好像是可以的。DirectX是和windows紧密联系在一起的,离开windows肯定跑不起来。
------解决方案--------------------
搂住的概念没有搞清楚。
1. opengl和dx一样,运行的时候也需要窗口的,所以在DOS下,也不可以运行。
2. 很少有显卡只支持dx或者opengl的,一般的显卡2者都支持,实际是通过驱动来把dx或者opengl调用转换到同一套硬件来实现。
3. opengl和dx对数学都有一定的要求。

------解决方案--------------------
当前PC机上的显卡都支持directx,同时也支持opengl,dx 和opengl可以看作是一个“标准规范”,符合这个规范的显卡+驱动就可以说支持,而不管内部实现如何。
这些“规范“是有版本的,版本高,则规定显卡+驱动要实现的功能也多
以Dx为例,其版本目前流行的是9.0, 9.0c,而随着Vista的到来,dx也升级到10.0
opengl目前最新的版本是2.0
dx版本升级很快,是MS一家控制的
opengl版本发布的慢,由一个委员会控制,opengl ARB,opengl可以通过一种称为“扩展“的方法来加入新的功能。