Home Index F&A << Prev Next >> Print Version of this Page

Mail me... Let me know what you think

Fragen und Antworten: OpenGL und DirectX

Copyright © by V. Miszalok, last update: 2010-01-27

Solche Fragen und Antworten sind niemals 100% fehlerfrei. Bitte: Wenn Sie einen Fehler finden, und sei es auch nur ein Tippfehler, bitte formlose Mail an prof@miszalok.de
Zum Drucken: FragenUndAntworten.pdf
Zum Drucken: FragenOhneAntworten.pdf

OpenGL und DirectX

F: Was ist OpenGL ? Geschichte, Zielstellung, Hauptanwendungen.
A: Softwareinterface zur Graphikhardware bestehend aus ca. 250 Kommandos in 2 Bibliotheken oglcore und oglutilities. Entwickelt ab 1990 von SGI (Silicon Graphics Inc.). Ziel: Hardware- und Betriebssystem-unabhängige Graphik (gerichtet an Hersteller von Graphikkarten und an Programmierer). Hauptanwendungen: hochwertige 3D-Graphik. OpenGL wird unterstützt von high-end-Graphikkarten (bzw. deren Treibern).

F: Was ist DirectX ? Geschichte, Zielstellung, Hauptanwendungen.
A: Softwareinterface für Windows-Betriebssysteme zur Hardware für Graphik, Audio, Video, Networking, Security etc. unterteilt in mehrere Bibliotheken Direct3D, DirectDraw, DirectPlay, DirectSound, DirectInput, DirectAudioVideoPlayback etc. Dauerentwicklung von Microsoft seit 1994 (damals "Games SDK") in aufsteigenden Versionsnummern (derzeit 10.0). Ziel und Hauptanwendung: Windows als Plattform für Multimedia. DirectX wird unterstützt von fast allen Graphik-, Sound- und Videokarten (bzw. deren Treibern).

F. Vergleich von OpenGL und DirectX

OpenGL               DirectX               
objektorientiert  
unterstützt Audio/Video/Game Input Devices  
Betriebssysteme  
brauchbare Treiber vorhanden für  
Qualität der Treiber  
verwendet von  
Doku, Tutorials, Samples  
neue Version  
Eigentum von  

A:

OpenGLDirectX
objektorientiertneinja
unterstützt Audio/Video/Game Input Devicesneinja
Betriebssystemevielenur Windows und seine Varianten
brauchbare Treiber vorhanden fürhochwertige Graphikkartenfast alle Graphikkarten
Qualität der Treiberoft schlechtoft besser als OpenGL-Treiber
verwendet vonUni, Forschung, CADSpiele-Industrie
Doku, Tutorials, Samplesvieleweniger als für OpenGL
neue Versionalle 5 Jahre (sonst nur "Extensions")alle 15 Monate
Eigentum vonSilicon Graphics Inc.Microsoft


F: Blockschaltbild der 3D Graphik Pipeline
A:


F: Blockschaltbild: Zeichnen mit GDI+ und mit DirectDraw HEL/HAL
A:

  Falls der Aufrufweg 3) existiert, ist 2) gesperrt.
3) ist schneller als 2) und 2) ist schneller als 1).
GDI+ und DirectDraw-Zeichenbefehle sind beliebig mischbar.


F: Was ist HAL, HEL, DDI ?
A:
HAL = Hardware Abstraction Layer = DirectX-Aufrufe der Microprogramme der Graphikkarte
HEL = Hardware Emulation Layer = DirectX-Aufrufe, obwohl keine moderne Graphikhardware und/oder keine Microprogramme vorhanden sind
DDI = Display Device Driver Interface = normale Funktionsbibliothek der Graphikkarte, wenn kein DirectX installiert ist

F: Was versteht man unter a) Tesselation b) LOD-basierter Tesselation ? Zweck ?
A: a) Aufteilung von 3D-Flächen in Dreiecksnetze
b) LOD = Level of Detail: Bei wachsendem Abstand zum Betrachter automatisch die Zahl der Vertices senken -> gröberes Netz
Zweck: Kleine Figuren brauchen keine Details. → Rechenaufwand sparen.

F: Was ist Back Face Culling ?
A: wörtlich übersetzt: Rückseiten aussortieren
Letzte Stufe der Vektorpipeline entlastet die folgende Rasterpipeline dadurch, dass sie diejenigen Dreiecke entsorgt, die nur von hinten zu sehen sind.

F: Teilbibliotheken von DirectX (min. 5) ?
A: DirectDraw, Direct3D, Direct3Dx, DirectPlay, DirectSound, DirectInput, AudioVideoPlayback, Diagnostics, Security

F: Was ist ein DirectX Device ? Properties und Methods (je min 3) ? Verlust von Device ?
A: Wichtigste DirectX-Klasse, mit der man die Graphikkarte steuert. Durch Device device = new Device( ... ) erhält man Information, Ressourcen und Rechte über die Graphikhardware.
Properties z.B.: DeviceCaps, Viewport, Material, Lights, RenderState, VertexFormat
Methods z.B.: BeginScene, EndScene, DrawPrimitives, Clear, Present, Get/SetTexture
Durch Aktionen des Benutzers (z.B. OnResize) und/oder des Betriebssystems (z.B. ScreenSaver) kann das Device verlorengehen und muss dann neu angefordert werden.


top of page: