标准模型一直是OpenGL是专业应用程序(CAD)和Direct3D是游戏。
用OpenGL 3.0的崩溃,是OpenGL的仍然是技术的3D应用程序(CAD / GIS)的自然选择?
是否有场景图库的Direct3D?
(当然只Direct3D的是windows)。
标准模型一直是OpenGL是专业应用程序(CAD)和Direct3D是游戏。
用OpenGL 3.0的崩溃,是OpenGL的仍然是技术的3D应用程序(CAD / GIS)的自然选择?
是否有场景图库的Direct3D?
(当然只Direct3D的是windows)。
D3D会让你付出的微软“战略的税收。” 也就是说,D3D有两个主人。 一个是给你的功能和性能。 另一种是,以确保锁定到其他微软产品和Windows平台一般。 这对你的一些后果:
一个D3D应用程序不会对任何东西,但窗口(包括Xbox)运行。 也许你不认为现在是非常重要的。 但是,如果在路上,你想在Mac,Linux和PS3,未来控制台等运行,你可能会很高兴你选择了独立于平台的选择。
MS可以做出一些武断的决定。 将D3D的下一个版本只需要新的硬件操作系统上运行,是价格昂贵,很多人不希望升级到? 他们会让你不同意其他一些未来的决定吗?
从历史上看,OpenGL的导致D3D中的新功能,硬件快速曝光。 这是因为有一个在为供应商添加自己的扩展标准的机制,并为这些扩展,最终被折叠成主要的规范。 D3D是什么MS希望它是,从供应商的投入是肯定的,但MS获取否决权。 你可以很容易地在像与Vista,其中MS决定不公开新的硬件功能,以旧的DX的情况下,只有使新的DX在Vista上使用。 这对于游戏开发者颇为头疼。
那么现在,这是原因的味道,为什么“专业应用程序”(CAD,动画,科学可视化,地理信息系统等)将有利于OGL - 像这样的应用程序想了很多年内保持稳定,需要持续的维护和改进,并希望在许多平台上运行。 这是相对于游戏,这相当频繁只在一个平台上,将被释放,但一般不会“维护”(也可能不会有2.0,另一个OS的更新3年因此,并不需要支持旧的硬件等)。 游戏需要最高性能和只需要很短的时间窗口和固定数量的平台上工作。 如果他们需要无论如何针对Windows和D3D是快一点,这可能是因为负D3D后果不会伤害他们像它会针对CAD应用程序的正确选择,说。
像往常一样,这取决于你的情况。
根据我的经验,目前在Windows(2008年)的OpenGL驱动程序的质量高于Direct3D驱动程序的质量差得多 。 如果你的情况是这样的,你不能合理地要求你的客户始终具备最新的驱动程序,或者告诉他们要改变自己的显卡有更好的OpenGL驱动程序的操作,然后OpenGL是一个相当不错的选择。 在这种情况下,我会去为Windows D3D渲染器,并在OS X / Linux的OpenGL渲染(如果你要支持这些平台,这是)。
有两个渲染器并不难 ; 在我的经验周围司机的错误工作花费的时间比写作和配套的渲染代码路径, 更多的时间。
当然,有些情况下D3D只是不具备所需要的功能,如四缓冲同步锁相输出一些(具体)情况; 或在Windows XP几何着色器的支持。
因此,在短期:如果你想在Windows驱动程序更好,使用D3D。 如果你不关心驱动程序质量多,还是需要是在OpenGL,但不是在D3D功能,然后使用OpenGL。
也许你应该尝试的一个抽象层,如OGRE ,它可以让你的DirectX和OpenGL之间切换,而无需重写什么? 它也增加了很多功能,而不是游戏为主,但非常通用。
这并不直接回答你的问题(对不起),但我对Direct3D和工作嘿嘿原来的球员之一:
是否有场景图库的Direct3D?
使用的Direct3D(NEE现实实验室)仅仅是一个场景图库:-)
耻辱,Direct3D保留模式不再被运...
Direct3D是仅适用于Windows和Xbox可用。 如果您计划目标的Unix或Mac,除了Windows,OpenGL是个不错的选择。
对我来说,说作为一个大公司的CAD图形程序员,目前有三件事情是保留的支持Direct3D的(10/11)的beeing下降为现有的CAD / DCC应用程序的OpenGL:
遗产 。 大多数CAD软件都或多或少几乎紧OpenGL的概念。 重写D3D周围一切的理念并不总是易于管理(technicaly发言,取决于公司的能力/意愿扔它的资源)。
其次,它可能有负面影响,如果出现错误(functionnality演讲和/或性能明智)和公司将只是没有采取拖延,因为API和架构交换机的主要释放的风险。
人民 。 在那些老男孩产业人民是相当保守的。 他们更喜欢与有关他们可以有或者干脆所有的OpenGL驱动程序问题IHVs处理将不推荐使用由特定的IHV(如英特尔或ATI)显卡花钱/时间。
另外,我认为,像波音,空客,TMC,宝马等汽车/航空航天行业的客户并不关心有多少只德罗斯工作站。 硬件仍是关于软件许可价格便宜。
未来的发展趋势 。 有了这样的Llano,拉拉,费米和产品的处理器,将遵循的下一代,这是绝对值得就如何编程和开发这些未来的硬件新的语言/ API的/框架(图形的长期投资R&d预算以及非图形任务)。
CAD行业拥有巨大的周期,如果没有一个真正的颠覆性技术不会移动。 所以D3D可能只是来得有些晚了大CAD球员(当然除了欧特克这是一种特殊情况)。
不是答案本身,而是有趣的是AutoCAD的最新版本可让您在“3DCONFIG”设置选项使用OpenGL或Direct3D的驱动器之间进行选择。 从根本上说,AutoCAD是一个Windows的唯一的应用程序,因此是有道理为他们(最终)支持Direct3D的。 请参见第15页欧特克此白皮书以获得更多信息。
答案每个人都愿意相信是肯定的,但真正的答案是,这取决于。
约50%的所有硬件,在那里将不会运行OpenGL,任何合理的水平。 看到这样的一个例子读它使用OpenGL谷歌SketchUp的常见问题
SketchUp的性能在很大程度上依赖于显卡驱动程序,它是要支持OpenGL 1.5或更高版本的能力。 在历史上,人们已经看到了ATI Radeon显卡和基于Intel的显卡使用SketchUp的问题。 我们不建议使用这些显卡使用SketchUp在这个时候。 ( 对于谷歌Sketchup的硬件ANS软件要求
所以,如果你正在写一个CAD应用程序,你不介意告诉你的客户,“你必须有一个OpenGL complient显卡”,那么答案是肯定的。
相反,如果你正在创建一个最终用户的应用程序(谷歌地球为例),然后伤心的答案是,你必须写一个都D3D和您的应用程序的版本GL如果你想达到整个市场。