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 03/2017: EFFIZIENTES BÜRO

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

Probleme mit der Maus
Thomas Roch, 21.02.2017 13:43, 0 Antworten
Nach 20 Jahren Windows habe ich mich zu Linux Ubuntu probeweise durchgerungen!!! Installation - k...
KWin stürzt ab seit Suse Leap 42.2
Wimpy *, 21.02.2017 09:47, 0 Antworten
OpenSuse 42.2 KDE 5.8.3 Framework 5.26.0 QT 5.6.1 Kernel 4.4.46-11-default 64-bit Open-GL 2....
Shell-Befehl zur Installation von Scanner-Treiber
Achim Zerrer, 15.02.2017 12:13, 10 Antworten
Hallo, ich habe Einen Brother Drucker mit Scanner. Nachdem ich mit Hilfe der Community den Druck...
kiwix öffnet ZIM Datei nicht
Adrian Meyer, 13.02.2017 18:23, 1 Antworten
Hi, ich nutze Zim Desktop für mein privates Wiki. Fürs Handy habe ich mir kiwix heruntergelade...
registration
Brain Stuff, 10.02.2017 16:39, 1 Antworten
Hallo, Das Capatcha auf der Registrierungsseite von linux-community ist derartig schlecht gema...