Home | Index F&A | << Prev | Next >> | Print Version of this Page |
![]() |
Let me know what you think |
![]() |
Fragen und Antworten: OpenGL und DirectXCopyright © 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
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:
OpenGL | DirectX | |
objektorientiert | nein | ja |
unterstützt Audio/Video/Game Input Devices | nein | ja |
Betriebssysteme | viele | nur Windows und seine Varianten |
brauchbare Treiber vorhanden für | hochwertige Graphikkarten | fast alle Graphikkarten |
Qualität der Treiber | oft schlecht | oft besser als OpenGL-Treiber |
verwendet von | Uni, Forschung, CAD | Spiele-Industrie |
Doku, Tutorials, Samples | viele | weniger als für OpenGL |
neue Version | alle 5 Jahre (sonst nur "Extensions") | alle 15 Monate |
Eigentum von | Silicon 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:![]() |