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.

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.
  • Linuxtaugliche Hardware-Komponenten
    "Treiber oder nicht Treiber?", das ist hier die Frage des Linux-Einsteigers, wenn er einen Rechner mit dem freien Betriebssystem beglücken möchte. Die Treiberabdeckung für PC-Komponenten ist zwar inzwischen sehr ansehnlich, aber ein Stück Hardware einfach blind zu kaufen kann zu großem Verdruss führen. Dem kann man aber vorbeugen.
Kommentare

Infos zur Publikation

LU 02/2016: Alt-PCs flott machen

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

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

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

Der Tipp der Woche

Schon gewußt?

14.11.2015

Auch unter Ubuntu 15.10 kann man wieder mit dem Startmedienersteller (alias Startup Disk Creator) ein Live-System auf einem USB-Stick einrichten. ...

Fehler des Startmedienerstellers von Ubuntu 15.10 umgehen

Aktuelle Fragen

Tails Update
Val Lerie, 11.01.2016 10:51, 0 Antworten
Hallo zusammen, updaten > update Speichern unter > Persistent nicht möglich, mit der Meldung;...
Recoll
Jürgen Heck, 20.12.2015 18:13, 4 Antworten
Wie kann man mit Recoll nach bestimmten Zeichen/Satzzeichen bzw. Zeichenkombinationen suchen, z....
Wings Platinum 4 auf Linux?
Bodo Steguweit, 18.12.2015 11:37, 4 Antworten
Hallo in die Runde ich nutze für meine Diashows Wings Platinum 4 als Diareferent. Arbeite jetzt...
Bandbreite regulieren
Georg Armani, 25.11.2015 16:50, 1 Antworten
Hallo, ich bin ein Neuling in Sachen Linux und hoffe auf Hilfe. Ich habe zwei Windows Rechner...
Windows 10 verhindert LINUX
Hans Wendel, 17.11.2015 17:47, 8 Antworten
Hallo alle, mit einem W10-Laptop (vorher war Win7) wollte ich LINUX ausprobieren. Alles, was ni...