|
发表于 2005-5-10 16:18:00
|
显示全部楼层
Re: Re:学做3d游戏地话,学opengl好呢还是学direct3d好呢?
茹枫: Re:学做3d游戏地话,学opengl好呢还是学direct3d好呢?
据我所知,任何所谓跨平台的东西,都是通过中间层来实现的(相对而言)。比如c++利用汇编,java利用虚拟机,opengl也一样,要考虑如何实现“三明治”结构,就必须付出代价。
老兄的认识看来有待深化,语言类的象java如你所说它是建立在其它系统上的虚拟系统,它要有个在其它系统(比如windows)上运行的虚拟机来运行,本质上说是虚拟解释执行的,这样的效率是不会好的.而OpenGL的跨平台是建立在驱动程序的基础之上的,也就是说是直接建立在硬件之上的,它他的dll实际是与硬件驱动通讯的api库,其本质与操作系统是同效率级别的,严格的说OGL要比得d3d少一些COM的调用开销,只不过这些开销对于3d处理的庞大开销来说可以不记罢了.另外跨平台的另一个含义是其源代码不加修改,或极少修改就可以在其它的平台重用.
OGL的主要问题在于为了利益其各个显卡厂商扩展标准混乱,限制了其新功能的增强,形成这种局面微软做了很多的努力,使一个使用简便而易于掌握的工业3D标准API库发展停滞.
另外,就目前的情形看来,未来极具市场手机3d游戏的开发是基于OGL的.因为它小 |
|