CAD's Graphics Choice

Started by
4 comments, last by idinev 14 years, 1 month ago
What makes OpenGL the graphics API of choice in the CAD software industry? Aside from portability, lets focus on one platform Windows, what makes it favorable over Direct3D while the graphics system can be layered and abstracted on top of either...? Is there a really technical advantage? Is there a downside on the road while developing a CAD system using Direct3D? Is there a hidden, unrevealed secrets about both APIs? Thanks.
Advertisement
It's mostly historical. CAD/CAM applications have very long life cycles and have huge and slowly evolving codebases. It's almost impossible to change the 3D API in such a situation. And it's rather pointless. Why change something that works ?

But there are also some technical reasons:

* Portability is obvious. Many pro 3D applications run on multiple platforms. OSX is common in design. Unix is common in the movie industry, medical, research and defense.

* A lot of professional graphics cards (NV Quadro series, AMD FirePro, etc) come with special OpenGL drivers that are specifically optimized for CAD usage. They offer significant performance advantages over consumer 3D drivers which are optimized for gaming.

* D3D doesn't support real stereoscopic rendering, which is often used by CAD systems for designing complex machinery (automobile industry, air and space travel, etc).

* OpenGLs extreme backwards compatibility, highly criticized in the games sector, is actually a very important advantage for CAD software manufacturers.
So OpenGL works better on high end professional hardware...

For example, thick line drawing which is not supported by Direct3D, is availble in OpenGL fixed pipeline and it's accelrated...I remeber reading about AMD's graphics processor specification, and it mentions some registers that control line width...

Another question, so OpenGL is the way to go for CAD even to start a new project from scratch?

Quote:Original post by Sambori
So OpenGL works better on high end professional hardware...

It depends on the driver, but professional 3D hardware is definitely targeted at OpenGL.

Quote:Original post by Sambori
For example, thick line drawing which is not supported by Direct3D, is availble in OpenGL fixed pipeline and it's accelrated...I remeber reading about AMD's graphics processor specification, and it mentions some registers that control line width...

Actually thick line drawing was deprecated in GL 3, which was a rather unfortunate move from the ARB. Anyway, things like AA line drawing is often considerably faster on professional 3D graphics drivers under OpenGL, since it is a very common operation in CAD.

Quote:Original post by Sambori
Another question, so OpenGL is the way to go for CAD even to start a new project from scratch?

Depends on your customers. If you need to support other platforms beside Windows (which is mandatory in certain domains, such as graphics design or for military applications) and/or if you need stereo rendering, then D3D is not an option. In other cases, the choice of the API depends on many factors, ranging from personal preference over scalability / backwards compatibility considerations to customer support issues.

From my personal experience, if I started a game from scratch, I would use D3D. For a CAD application, I would use OpenGL.
Thanks for your informative reply.
Wide-lines are again available in 3.2 .

This topic is closed to new replies.

Advertisement