标准模式已经这照片是用于专业应用程序(CAD)和Direct3D是用于游戏。

与失败的照片3.0,载仍然选择3D技术应用程序(cad/地理信息系统)?
有架构图库Direct3D?

(当然Direct3D是windows)。

有帮助吗?

解决方案

D3D让您支付微软的“战略税”。也就是说,D3D服务于两个主人。一个是为您提供功能和性能。另一种方法是确保一般地锁定其他MS产品和Windows平台。这对你有一些影响:

  1. 除了Windows(包括Xbox)之外,D3D应用程序不会运行任何东西。也许你现在认为这不重要。但是,如果您希望在Mac,Linux,PS3,未来游戏机等上运行,您可能会很高兴您选择了与平台无关的选择。

  2. MS可以做出一些武断的决定。下一版D3D是否只能在需要新硬件的操作系统上运行,价格昂贵,而且很多人不想升级到?他们会做出你不同意的其他未来决定吗?

  3. 从历史上看,OpenGL已经引领D3D快速曝光新的硬件功能。这是因为标准中有一种机制可供供应商添加自己的扩展,并且这些扩展最终可以折叠到主要规范中。 D3D是MS想要的,有来自供应商的输入,但MS获得否决权。你可能很容易陷入像Vista这样的情况,MS决定不向新DX公开新的硬件功能,只在Vista上提供新的DX。这对游戏开发者来说非常头疼。

  4. 现在,这就是为什么“专业应用程序”的原因。 (CAD,动画,科学可视化,GIS等)将有利于OGL - 像这样的应用程序想要稳定多年,需要持续的维护和改进,并希望在许多平台上运行。这与通常仅在一个平台上的游戏形成对比,游戏将被释放但通常不会“维持”。 (可能不会有2.0,因此三年后另一个操作系统的更新,不需要支持更旧的硬件等)。游戏需要最高性能,只需要在短时间窗口和固定数量的平台上工作。如果他们需要以Windows为目标并且D3D更快一点,这可能是正确的选择,因为D3D的负面影响不会像CAD应用程序那样伤害他们,比如说。

其他提示

与往常一样,这取决于您的情况。

根据我的经验,目前(2008年)Windows上的OpenGL驱动程序质量比Direct3D驱动程序质量差强很多。如果你的情况是你不能合理地要求你的客户总是拥有最新的驱动程序,或者告诉他们将显卡改为那些有更好的OpenGL驱动程序的显卡,那么OpenGL是一个非常糟糕的选择。在这种情况下,我会在Windows上使用D3D渲染器,在OS X / Linux上使用OpenGL渲染器(如果你必须支持这些平台)。

拥有两个渲染器并非很难;根据我的经验,解决驱动程序错误比编写和支持渲染代码路径花费的时间更多

当然,有些(特定)情况下D3D不具备所需的功能,例如四缓冲同步锁相输出;或Windows XP上的几何着色器支持。

简而言之:如果您想在Windows上使用更好的驱动程序,请使用D3D。如果您不太关心驱动程序质量,或者需要OpenGL中但不是D3D中的功能,那么请使用OpenGL。

也许您应该尝试一个抽象层,例如 OGRE ,它允许您在DirectX和OpenGL之间切换而无需改写任何东西?它还增加了许多功能,并且不是面向游戏的,而是非常通用的。

这并没有直接回答你的问题(对不起),但我是Direct3D和Hehe的原始人之一:

  

是否有场景图库   的Direct3D?

Direct3D(nee Reality Lab)以前只是一个场景图库: - )

感到遗憾的是Direct3D保留模式不再出厂了......

Direct3D仅适用于Windows和XBox。如果您计划定位Unix或Mac,除了Windows之外,OpenGL也是一个不错的选择。

对我来说作为一个图形程序员,在大CAD公司,目前有三件事,保留载的限量下降,在有利于Direct3D(10/11)对现有CAD/DCC应用程序:

  1. 遗产.大多数加元的软件 或多或少都不紧张 载的概念。一切重写 周围D3D哲学是不是总是 管理(移动来说 并且取决于能/意愿的 公司扔资源)。

    其次,它可能有负面的 影响如果出了什么事 (评价讲话和/或 绩效明智的)和公司只是没有采取危险的拖延的主要释放,因为API和建筑开关。

  2. 人民.各民族在那些老男孩的行业 相当保守。他们喜欢 花钱/时间上的处理 Ihv有关的所有照片驱动器 问题可能有或者根本不会推荐使用的图形由特定硬件厂商(例如英特尔 或ATI).

    另外,我认为,汽车/航空航天工业的客户 像波音公司空中客车,TMC,宝马,等等 不在乎那么多的具有 德罗斯只有工作站。硬件 还是便宜在关于软件 许可证的价格。

  3. 未来的趋势.与未来 代理像Llano 赖瑞毕,费米和产品, 将按照,这绝对值得 投资R&D的预算中就如何 计划和开发新的 语言/api/框架对于这些未来的硬件(中期的 图形以及无形任务)。

    CAD业具有巨大的 循环和不动如果不是因为一个真正的突破性技术。所以D3D可能 只是来有点晚了大CAD员(除了Autodesk当然这是一个特别情况)。

不是这样的答案,但值得注意的是,最新版本的AutoCAD让您可以在“3dconfig”中使用OpenGL或Direct3D驱动程序。设置选项。从根本上说,AutoCAD是一个仅限Windows的应用程序,因此它们(最终)支持Direct3D是有意义的。有关详细信息,请参阅来自AutoDesk的本白皮书的第15页。

每个人都想要的答案是肯定的,但真正的答案是,这取决于。

大约50%的硬件都不能将OpenGL运行到任何合理的水平。要查看此示例,请阅读使用OpenGL

的Google Sketchup常见问题解答
  

SketchUp的性能在很大程度上依赖于显卡驱动程序,并且能够支持OpenGL 1.5或更高版本。从历史上看,人们已经看到了使用SketchUp的ATI Radeon卡和基于Intel的卡的问题。我们建议您不要在SketchUp上使用这些显卡。 ( Google Sketchup的硬件和软件要求

所以,如果你正在编写一个CAD应用程序并且不介意告诉你的客户,那么“你必须拥有一个OpenGL兼容的视频卡”。然后答案是肯定的。

如果您正在创建最终用户应用程序(例如Google地球),那么可悲的答案是,如果您想要覆盖整个市场,则必须同时编写应用程序的D3D和GL版本。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top