The difference between Opengl and Directx

OpenGL is just a graphical function library.

DirectX includes modules such as graphics, sound, input, and networking.

In terms of graphics alone, DirectX's graphics library performance is not as good as OpenGL's.

OpenGL is stable and can be used across platforms. But OpenGL often requires graphics card support.

----------------------------------------------------------------------------------------------.

I want to play games on the Windows platform, of course DX. I want to cross platform, do scientific computing programs, and do CAD.

If you want to do distribution calculations or industrial applications, it's best to use OpenGL.

Of course, if you're not interested in COM or want to live a easier life, it's better to use OpenGL.

In fact, the reason why DX is the preferred gaming platform is because it is fast, and in the past, it supported OpenGL acceleration for home cards.

Or there are very few game cards, and software calculations are very slow. But since TNT2/Voodoo3, OpenGL has been very reasonable.

I want a gaming platform, but in geforce256, savage2000+ OpenGL on the fourth generation card represented by.

It's an extremely ideal gaming platform: fast enough, dazzling enough! On the other hand, the quality of DX7 is already quite poor.

Wrong, the gap with OpenGL is already very small, and it's an M $thing... it depends on how you think, if you want to.

If you learn quickly, use it pleasantly, and debug easily, then choose OpenGL. If you have already adapted to the ideas of the COM system, of course it is.

DX is natural.

My personal suggestion is for you to learn OpenGL, as starting from there will make it easier to form correct and clear concepts. Even if you need to work in the future.

Turning to DX is also easy. The important thing is that there are more Chinese materials available in OpenGL nowadays, although most of them are repetitive.

But there are still a few very good books, and there are countless English materials.

One more thing, what language are you using? If it's C, it doesn't matter. If it's VB, it's still DX, although it's also possible.

Do OpenGL, but it's not as natural and resource rich as DX (there are examples of VB versions in dx7sdk).

----------------------------------------------------------------------------------------------.

From 1995 to 1996, Microsoft implemented a new plan to support running games on Windows 95, with the goal of expanding the market into the gaming industry controlled by Nintendo and Sega. However, Microsoft does not want to use the OpenGL technology already available on NT. Microsoft acquired Rendermorphics, Ltd. and obtained its 3D API called RealityLab. After reorganization, Microsoft has released a new 3D API Direct3D.

Microsoft, promote Direct3D, freeze OpenGL!

Microsoft refused to support OpenGL on Windows 95 at the time. Moreover, Microsoft took abnormal measures to withdraw support for OpenGL's MCD driver interface, forcing hardware vendors to abandon the OpenGL driver that had already entered final testing. Microsoft's marketing department has started promoting Direct3D to game developers, hardware manufacturers, and news publishing agencies, while rejecting OpenGL.

API War!

Silicon Graphics and many OpenGL users rely on OpenGL's innovative and high-performance technology. But it is clear that Microsoft plans to replace OpenGL with Direct3D, although D3D has many issues and cannot be extended by hardware vendors like OpenGL. Silicon Graphics decided in 1996 S Make a presentation at theIGGRAPH conference. The demonstration proves that OpenGL is at least as fast as D3D, thus refuting Microsoft's market argument. Because OpenGL is an industry recognized standard, with richer features than D3D and higher image quality, demonstrations have sparked intense debate in the computer graphics and game development community.

Game developers require OpenGL and D3D to stand on an equal footing!

When technical and market issues were exposed, strong support for OpenGL actions began. Doom developer John Carmack has declared rejection of D3D, while Chris Hecker has published a comprehensive analysis of two APIs in a game development magazine, concluding that Microsoft should abandon D3D. Game developers have submitted petitions to Microsoft twice. The first request from 56 chief game developers for Microsoft to release the OpenGL MCD driver was unsuccessful, as it would make OpenGL compete with D3D. The second public letter started with 254 signatures and reached 1400 by the deadline. Microsoft's response is still to reiterate its old market stance. Although the petitioners clearly demanded that the two APIs compete equally to promote development, Microsoft responded by increasing investment in D3D and reducing investment in OpenGL.

The merger of Fahrenheit D3D and OpenGL ?

Silicon Graphics, Microsoft, HP, and Intel have reached an agreement to jointly develop the next generation 3D API Fahrenheit. But it's over because Microsoft's plan is to apply OpenGL technology to D3D and use it as a name to drive away the threat of OpenGL. (It is estimated that DirectX 8 Graphics is the Fahrenheit independently developed by Microsoft, which has absorbed many things from OpenGL.).

OpenGL's prowess remains the same as before!

OpenGL remains the only API that can be independently controlled by Microsoft as opposed to D3D, although Silicon Graphics no longer promotes OpenGL in any way that Microsoft cannot accept. Game development is independent, and many key players are using OpenGL, so hardware vendors are working hard to increase support for it. D3D still cannot support high-end imaging and professional applications, while OpenGL dominates these lands. In the open source community, the Mesa project is providing OpenGL drivers independent of Microsoft.

Translator's note: On the surface, it seems that D3D supports more functions than OpenGL. However, due to the lack of hardware extensions, such as hardware panoramic shadows, hardware rendering order independent semi transparent materials, and other new technologies, D3D itself cannot be used. D3D (specifically D3D8) only provides a small portion of functions that can be simulated when using HAL and hardware does not support it. You need to use a lot of code to analyze hardware capabilities and adopt different strategies.