3D-Grafik – Die Grundlagen

Die dritte Dimension

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.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • 3D-Grafik unter X: Die Grundlagen
    Langsam etabliert sich Linux auch im Heimbereich. Dort darf eine Unterstützung von 3D-Grafikkarten selbstverständlich nicht fehlen. Wir zeigen, wie unter Linux die virtuellen Welten auf den Bildschirm gelangen.
  • 3D-Power unter Linux
    Die Auswahl an Spielen für Linux ist mittlerweile groß. Ob First-Person-Shooter oder Märchenabenteuer – die ganze Bandbreite wird abgedeckt. Aber die volle Pracht entfalten heutige 3D-Spiele nur, wenn sie auf "der richtigen" Hardware laufen.
  • 3D-Support für Nvidia-Karten einrichten
  • 3D-Grafik unter X: Die Konfiguration
    Nachdem der vorhergehende Artikel "Die dritte Dimension" einen Blick hinter die Kulissen geliefert hat, wollen wir nun zeigen, wie Sie selbst die 3D-Unterstützung Ihrer Grafikkarte unter Linux aktivieren können.
  • Linux hat den Schritt gemacht, der das System auf den Desktop bringt. Die wichtigsten Features der modernen Windows-PCs sind somit unter Linux verfügbar. Ob USB oder Hardware-beschleunigte 3D-Darstellung – das ständige Booten des "anderen" Systems, nur um mal kurz ein Spiel zu spielen oder die Bilder aus der Digital-Kamera via USB auszulesen, hat endlich ein Ende.
Kommentare

Infos zur Publikation

LU 06/2017: System im Griff

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

Anfänger Frage
Klaus Müller, 24.05.2017 14:25, 2 Antworten
Hallo erstmal. Habe von linux nicht so viel erfahrung müsste aber mal ne doofe frage stellen. A...
Knoppix-Live-CD (8.0 LU-Edition) im Uefiboot?
Thomas Weiss, 26.04.2017 20:38, 2 Antworten
Hallo, Da mein Rechner unter Windows 8.1/64Bit ein Soundproblem hat und ich abklären wollte, o...
Grub2 reparieren
Brain Stuff, 26.04.2017 02:04, 5 Antworten
Ein Windows Update hat mir Grub zerschossen ... der Computer startet nicht mehr mit Grub, sondern...
Linux open suse 2,8
Wolfgang Gerhard Zeidler, 18.04.2017 09:17, 2 Antworten
Hallo.bitte um Hilfe bei. Code fuer den Rescue-login open suse2.8 Mfg Yvo
grep und sed , gleicher Regulärer Ausdruck , sed mit falschem Ergebnis.
Josef Federl, 15.04.2017 00:23, 1 Antworten
Daten: dlfkjgkldgjldfgl55.55klsdjfl jfjfjfj8.22fdgddfg {"id":"1","name":"Phase L1","unit":"A",...