Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OpenGL still better than Direct3D for non-games? [closed]

Tags:

The standard model has been that OpenGL is for professional apps (CAD) and Direct3D is for games.

With the debacle of openGL 3.0, is openGl still the natural choice for technical 3D apps (cad/GIS)?
Are there scenegraph libraries for Direct3D?

(Of course Direct3D is windows only.)

like image 751
Martin Beckett Avatar asked Sep 24 '08 01:09

Martin Beckett


People also ask

Is OpenGL better than Direct3D 11?

Gathered results showed that modern OpenGL can be many times faster than Direct3D 11.

Why is OpenGL better than DirectX?

Some would argue that OpenGL is easier to work with than DirectX. Alongside hardware resources, OpenGL only handles graphics, making it simpler by nature. The fact that it works across more platforms also makes it easier to release games with this requirement.

Does AutoCAD use DirectX or OpenGL?

In 2010, Autodesk abandoned OpenGL and embraced DirectX. And now you know why AutoCAD works well with the consumer level cards. With a DirectX rendering pipeline, consumer level graphics are more than enough for all but the most complex CAD applications. Expect more CAD platforms to follow in the future.


1 Answers

D3D makes you pay the Microsoft "strategy tax." That is, D3D serves two masters. One is giving you features and performance. The other is to ensure lock-in to other MS products and the Windows platform generally. This has some consequences for you:

  1. A D3D app won't run on anything but Windows (including Xbox). Maybe you don't think that's important now. But if, down the road, you want to run on Mac, Linux, PS3, future consoles, etc., you may be glad you chose the platform-independent choice.

  2. MS can make some arbitrary decisions. Will the next version of D3D only run on an OS that requires new hardware, is expensive, and lots of people don't want to upgrade to? Will they make some other future decision you don't agree with?

  3. Historically, OpenGL has led D3D in quick exposure of new HW features. This is because there's a mechanism in the standard for vendors to add their own extensions, and for those extensions to eventually be folded into the main spec. D3D is whatever MS wants it to be, with input from vendors to be sure, but MS gets veto power. You could easily be in a situation like with Vista, where MS decided not to expose new HW features to the old DX, and only make the new DX available on Vista. This was quite a headache for game developers.

Now then, this is the flavor of reasons why a "professional app" (CAD, animation, scientific visualization, GIS, etc.) would favor OGL -- apps like this want to be stable for many years, need ongoing maintenance and improvement, and want to run on many platforms. This is in contrast to games, which quite frequently are only on one platform, will be released but generally not "maintained" (there likely won't be a 2.0, an update for another OS three years hence, don't need to support older HW, etc.). Games want maximum performance and only need to work for a short time window and on a fixed number of platforms. If they need to target Windows anyway and D3D is a little faster, that may be the right choice since the negative D3D consequences won't hurt them like it would for a CAD app, say.

like image 56
Larry Gritz Avatar answered Sep 27 '22 18:09

Larry Gritz