Home / LinuxUser / 2001 / 06 / 3D-Grafik – Die Grundlagen

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Aufmacher Artikel

Die dritte Dimension

3D-Grafik – Die Grundlagen

01.06.2001 Das Genre der 3D-Spiele boomt in der Windows-Welt in letzter Zeit gewaltig. Damit auch unter Linux die 3D-Frame-Raten in die Höhe schnellen, benötigt man spezielle 3D-Treiber, die das Optimum aus der eingebauten Grafikkarte herausholen.

Seit einigen Monaten gibt es für die meisten auf dem Markt erhältlichen 3D-Grafikkarten "Linux-Treiber", die sich hinsichtlich 3D-Performance und Stabilität in aller Regel nicht mehr hinter ihren Windows-Kollegen zu verstecken brauchen. Damit entfällt einer der bislang größten Hürden für die Etablierung von Linux als gleichberechtigte Plattform für 3D-Anwendungen. In diesem Artikel möchten wir Ihnen etwas Hintergrundwissen zum spannenden Thema Linux und 3D-Grafik vermitteln.

Kommunikation mit der Hardware

Heutzutage sitzt auf praktisch jeder Grafikkarte ein komplexer Grafik-Chip, der spezielle Funktionen bereitstellt, mit denen die Aufbaugeschwindigkeit von 2D- und 3D-Objekten auf dem Bildschirm deutlich beschleunigt werden kann. Die Betonung liegt auf "kann", denn ob das auch tatsächlich geschieht, hängt ganz entscheidend von der Qualität der auf dem jeweiligen Betriebssystem installierten Treiber-Software ab.

Unter Linux und anderen Unix-Derivaten übernimmt traditionsgemäß der X-Server, eine ganz normale Anwendung im User-Space, die Aufgabe, die Darstellungswünsche von hochauflösenden Anwendungen an die Grafik-Hardware zu übermitteln. Sieht man einmal von einigen kommerziellen X-Servern wie z. B. Xi Graphics (http://www.xig.com) ab, dann läuft heutzutage auf den meisten Linux-Rechnern ein X-Server des Open-Source-Projekts XFree86 (http://www.xfree86.org).

Es ist noch gar nicht so lange her, dass man für jeden Grafik-Chip-Typ einen eigenen X-Server schreiben musste. Angesichts der Tatsache, dass der Quelltext der XFree86-Server für jedermann (und damit auch potentiell für die jeweilige Konkurrenz des Grafik-Chip-Herstellers) offen zugänglich war, sperrten sich viele Chip-Hersteller dagegen, die für die Entwicklung von optimalen X-Servern notwendigen Hardware-Spezifikationen an die XFree86-Entwickler weiterzugeben.

Seit XFree86 Version 4 haben Chip-Hersteller die Möglichkeit, auch für Linux performante Grafikkartentreiber bereitzustellen, ohne den Quellcode offenlegen zu müssen. Doch dazu weiter unten mehr.

Direct3D vs. OpenGL

Wer heutzutage ein kommerzielles Spiel entwickelt, hat angesichts der Umständlichkeit und der mit dem Spielumfang stark ansteigenden Komplexität keine Lust, jede von der Grafikkarte hardware-mäßig unterstützte Funktion mit Maschinencode-Befehlen (Assembler) anzusteuern, zumal in einem solchen Fall ein Spiel nur auf der Grafikkarte funktionieren würde, auf der es geschrieben wurde.

Um dieses Bedürfnis der Entwickler nach weitestgehender Hardware-Unabhängigkeit zu befriedigen, entstanden einige Schnittstellen-Bibliotheken, die weitestgehend unabhängig von der zugrundeliegenden Grafikkarte rudimentäre Funktionen zum Zeichnen von 2D- bzw. 3D-Gebilden bereitstellen sollten.

Heutzutage konkurrieren vor allem noch Direct3D von Microsoft und OpenGL von SGI (http://www.sgi.com) um die Gunst der Entwickler. Direct3D ist – wer hätte es anders gedacht – nur für Microsoft-Betriebssysteme verfügbar. OpenGL-Implementationen gibt es dagegen auf nahezu allen Plattformen.

Unter Linux hat sich insbesondere die freie OpenGL-verwandte 3D-Grafikbibliothek Mesa (http://www.mesa3d.org/) einen Namen gemacht. Damit sich komplexe Spiel-Grafiken noch schneller erstellen lassen, setzen die meisten Hersteller heute in aller Regel eigenkreierte Baukasten-Bibliotheken (z. B. http://www.libsdl.org) oder gar vorgefertigte Spiele-Engines (z. B. http://crystal.linuxgames.com/) ein. Diese setzen aber im Prinzip alle (auch) auf den basalen Befehlssätzen von Direct3D oder OpenGL auf.

Tip a friend    Druckansicht Bookmark and Share
Kommentare

919 Hits
Wertung: 69 Punkte (1 Stimme)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...