Application Programming Interface: Difference between revisions

Rescuing 2 sources and tagging 0 as dead. #IABot (v2.0beta9)
(Rescuing 2 sources and tagging 0 as dead. #IABot (v2.0beta9))
Line 34:
[http://www.opengl.org/ OpenGL] is Direct3D's primary competitor, and in many ways the tool of choice for cross-platform gaming (though, in truth, it is the only tool for cross-platform game development). OpenGL is a graphics API, so it only technically competes against Direct3D, the 3D portion of DirectX; most Windows games that use OpenGL use the non-graphics part of [[Direct X]] for other tasks, while other operating systems use different APIs for other tasks (for example, OpenAL for audio acceleration). Many individuals feel it's much easier to program in than DirectX. The open standard certainly made it more expandable, and many OpenGL games such as [[City of Heroes]] are made up of more extensions than original standard code.
 
While OpenGL can work with a variety of operating systems, it does have some downsides. Since DirectX is the API of choice for games created for Windows, many graphics cards have horrible OpenGL support. Earlier ATI and Intel embedded graphics chips in particular might run a DirectX game well, but crawl when using OpenGL. After AMD got ATI, though, [https://web.archive.org/web/20140106051647/http://fireuser.com/blog/amd_updates_entire_firepro_line_to_evergreen_gpus/ having fresh cards work with] any fresh software eventually ceased to be a problem.
 
The latest version of OpenGL is 4.4. For older hardware (hardware limited to DirectX 10), there is version 3.3. For REALLY old hardware that is (huge fake GASP) 3+ years old, there is OpenGL 2, which roughly corresponds with DirectX 9.
Line 44:
* [http://www.andlinux.org/ andLinux], on the other hand, is an actual Linux environment for Windows. Unlike Cygwin, it can actually run Linux programs on Windows, as it actually runs a modified Linux kernel as a compatibility layer. andLinux is based on Ubuntu Linux, and is able to use the same packages. It's free and open source, as befits a Linux distribution.
* [http://www.winehq.org/ Wine] is a translation layer (a program loader) capable of running Windows applications on Linux and other POSIX compatible operating systems (including post-2005 [[Apple Macintosh|Intel Macs]]). It naturally has OpenGL and even limited DirectX support. [http://appdb.winehq.org/ Application Database] has information on more than 10,000 applications' compatibility with Wine. It, too, is free and open source.
* [https://web.archive.org/web/20101222071215/http://www.cedega.com/support/about-cedega/ Cedega] (formerly known as WineX) is a commercial "run Windows games on Linux" translation software, naturally focused on DirectX support. It also has some sort of limited, but free, open source demo version. Cedega was retired in February 2011, but it's back-end was rechristened [[Game Tree Linux]] and became completely free (albeit still requiring one to sign up for the service). The company behind Cedega, Transgaming, also offers a technology called "Cider" to quickly port PC software to the Mac OS X platform.
* [http://www.codeweavers.com/ CodeWeavers]' CrossOver products were Cedega's primary competitor. Like Cedega, they offer Wine distributions that have been modified with proprietary code. Unlike Cedega, they offer different versions of their software for different purposes. They also offer a version of their product that allows Intel Mac OS X users to run windows apps without an emulator or dual-booting. CodeWeavers is quite popular in the open-source community, as much of their proprietary code are often released back into the open-source WINE project.
* OpenGL does not sit and wait for better support, there are extensions that translate or emulate DirectX functionality (mainly aimed for Wine), up to [http://www.klayge.org/2014/03/25/announces-dxbc2glsl-a-hlsl-bytecode-to-glsl-compiler/ translation of DXBC code to GLSL], with the long-term goal of converting any D3D shaders into GL.