3D graphics

From MorphOS Library

Revision as of 21:50, 13 March 2012 by Polluks (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Most currently available alternate OSs have no support for 3D graphics, or a very minimal support. This is due to the fact that the few companies that develop graphics cards either do not distribute technical documentation at all, or make it available in a form that creates many obstacles to single developers. They provide their own drivers for Windows, or provide documentation that is very difficult to obtain and use.

In this scenario of missing 3D support, MorphOS is a relevant exception, within certain limits. There are two reasons for this. The first is the creation of tinygl.library, a very important software component which (despite its name) is a highly compliant and almost complete MorphOS implementation of the OpenGL specifications. The second is that the MorphOS Development Team decided to concentrate all their 3D efforts on a small number of graphics cards compatible with the supported PowerPC hardware.

The Open Graphics Library (OpenGL) is a standard defined by a document that specifies a set of over 250 different function calls whose use allows to draw complex 3D scenes from simple primitives. Its importance lies in the fact that it defines a platform-independent API. Developers that use OpenGL to write applications can be sure that these programs will generate 3D graphics on every computer that has an implementation of the library. OpenGL, originally developed by Silicon Graphics, is important for the games industry (where it only competes with Direct3D on the Windows platform), but is also used for professional applications where the simple management of 3D graphics is important (starting from flight simulators and virtual reality implementations, ranging through high-end displays for scientific applications and information presentations, up to technical applications like CADs).

As to TinyGL the the MorphOS Development Team states: "TinyGL was originally created by Fabrice Bellard as a subset of OpenGL for embedded systems and games. It was designed with no hardware acceleration in mind at this time. Only the main OpenGL calls were implemented. The MorphOS version of TinyGL is only loosely based on the original implementation. It was rewritten to take full advantage of 3D hardware acceleration. Furthermore, it contains several carefully chosen MESA features. TinyGL on MorphOS provides a much richer feature set and surpasses the original's speed at the same time."

Of course OpenGL/TinyGL are not enough for full management of 3D graphics cards. Special software drivers are needed to use the 3D hardware on the cards. The MorphOS Development Team created drivers for the following PCI and/or AGP cards: 3dfx Voodoo 3, Voodoo 4, Voodoo 5; ATI Radeon 7000, Radeon 7200, Radeon 7500, Radeon 8500, Radeon 9000, Radeon 9100, Radeon 9200, Radeon 9250. As you can see, these certainly are not the most recent graphics cards on the market, but they are well supported by the drivers and have an optimal fit with the performances of the current PegasosPPC hardware.