OpenGL. (Open Graphic Library)



Ähnliche Dokumente
Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Terminabgleich mit Mobiltelefonen

Die Post hat eine Umfrage gemacht

Alle gehören dazu. Vorwort

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Professionelle Seminare im Bereich MS-Office

Anleitung über den Umgang mit Schildern

How to do? Projekte - Zeiterfassung

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Wärmebildkamera. Arbeitszeit: 15 Minuten

Idimager ein Bildverwaltungsprogramm-DAM Software

Zwischenablage (Bilder, Texte,...)

GeoPilot (Android) die App

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Arbeit zur Lebens-Geschichte mit Menschen mit Behinderung Ein Papier des Bundesverbands evangelische Behindertenhilfe e.v.

10.1 Auflösung, Drucken und Scannen

icloud nicht neu, aber doch irgendwie anders

SCHULUNG MIT SYSTEM: E-LEARNING VON RAUM21

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Europäischer Fonds für Regionale Entwicklung: EFRE im Bundes-Land Brandenburg vom Jahr 2014 bis für das Jahr 2020 in Leichter Sprache

Die Invaliden-Versicherung ändert sich

Das Leitbild vom Verein WIR

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

Ihr IT-Administrator oder unser Support wird Ihnen im Zweifelsfall gerne weiterhelfen.

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

! " # $ " % & Nicki Wruck worldwidewruck

Nicht über uns ohne uns

Formular»Fragenkatalog BIM-Server«

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

ERPaaS TM. In nur drei Minuten zur individuellen Lösung und maximaler Flexibilität.

Der Kalender im ipad

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Drucken von Webseiten Eine Anleitung, Version 1.0

Wenn man nach Beendigung der WINDOWS-SICHERUNG folgendes angezeigt bekommt

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Clients in einer Windows Domäne für WSUS konfigurieren

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

Was meinen die Leute eigentlich mit: Grexit?

Leichte-Sprache-Bilder

Sicher auf Erfolgskurs. Mit Ihrem Treuhand-Betriebsvergleich

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Zeichen bei Zahlen entschlüsseln

Anleitung zur Nutzung des SharePort Utility

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

Alle Jahre wieder... Eckard Brandt. Regionales Rechenzentrum für Niedersachsen Eckard Brandt Gruppe Systemtechnik

SANDBOXIE konfigurieren

Update-Anleitung für SFirm 3.1

Kurzanleitung zu. von Daniel Jettka

Zugriff auf OWA Auf OWA kann über folgende URLs zugegriffen werden:

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

akti nsplan Inklusion und Teilhabe Aktions-Plan der Lebenshilfe Hannover zur UN-Behinderten-Rechts-Konvention UN-BRK 2013 bis 2018 Leichte Sprache

Technische Analyse der Zukunft

Regeln für das Qualitäts-Siegel

Simulation LIF5000. Abbildung 1

Qualitätsbedingungen schulischer Inklusion für Kinder und Jugendliche mit dem Förderschwerpunkt Körperliche und motorische Entwicklung

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

SCRIBUS WORKSHOP Handout Gimp

SQL Server 2008 Standard und Workgroup Edition

Die YouTube-Anmeldung

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

SharePoint Demonstration

Kapitel 3 Bilder farblich verändern - Arbeiten mit Objekten

Installation OMNIKEY 3121 USB

SCHWACHSTELLE MENSCH

Anlegen eines DLRG Accounts

Was ich als Bürgermeister für Lübbecke tun möchte

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

Wichtige Forderungen für ein Bundes-Teilhabe-Gesetz

SSH Authentifizierung über Public Key

Neuheiten PROfirst. Version 7. Neuheiten PROfirst CAD Version 7 ab /6

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Was macht Layer2 eigentlich? Erfahren Sie hier ein wenig mehr über uns.

Begeisterung und Leidenschaft im Vertrieb machen erfolgreich. Kurzdarstellung des Dienstleistungsangebots

Neuerungen PRIMUS 2014

Handbuch für Redakteure

4D Server v12 64-bit Version BETA VERSION

DAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG

von: Oktay Arslan Kathrin Steiner Tamara Hänggi Marco Schweizer GIB-Liestal Mühlemattstrasse Liestal ATG

a) Bis zu welchem Datum müssen sie spätestens ihre jetzigen Wohnungen gekündigt haben, wenn sie selber keine Nachmieter suchen wollen?

Digitalbarometer. Mai 2010

B12-TOUCH VERSION 3.5

Erstellen eines Screenshot

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

impact ordering Info Produktkonfigurator

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

ISA Einrichtung einer DFUE VErbindung - von Marc Grote

ITF2XML. Transferservice. Version 1.1. Tel.: 044 / Fax: 044 / CH-8005 Zürich

Neues Microsoft Office 2011 für Mac ist da! Neu mit dem beliebten Mailprogramm Microsoft Outlook anstelle von Entourage

Also heißt es einmal mehr, immer eine eigene Meinungen bilden, nicht beeinflussen lassen, niemals von anderen irgend eine Meinung aufdrängen lassen.

Seite 1. Datum einfügen

plus Flickerfeld bewegt sich nicht

Der schnelle Weg zu Ihrer eigenen App

ISA Server 2004 Erstellen eines neuen Netzwerkes - Von Marc Grote

Transkript:

OpenGL (Open Graphic Library)

Agenda Was ist OpenGL eigentlich? Geschichte Vor- und Nachteile Arbeitsweise glscene OpenGL per Hand Debugging Trend

Was ist OpenGL eigentlich? OpenGL ist eine Spezifikation für eine Porgrammierschnittstelle zur Entwicklung von 3D-Computergrafiken (Wikipedia) OpenGL beschreibt lediglich die Schnittstelle. Die Implementation erfolgt in der Regel durch Systembibliotheken oder Grafik-Treiber. Zudem können andere Organisationen (zumeist Hersteller von Grafikkarten) Erweiterungen definieren. (Wikipedia)

Geschichte 1992 erste Veröffentlichung (OpenGL 1.0) durch das ARB (Architecture Review Board) 1997 Veröffentlichung von OpenGL 1.1 Es folgen 1.2 und 1.2.1 (1998), 1.3 (2001), 1.4 (2002), 1.5 (2003) 2003 Microsoft verlässt das ARB 2004 Veröffentlichung von OpenGL 2.0 Vergleichbar mit DirectX 9 (2002) 2006 Veröffentlichung von OpenGL 2.1 Eher nur verhaltene Änderungen 2006 Khronos Group übernimmt die Weiterentwicklung der API 2008 Veröffentlichung von OpenGL 3.0 Vergleichbar mit DirectX 10 (2006)

Vorteile Plattform- und Sprachunabhängig Windows, Linux, Mac, Android, iphone, PlayStation 2 und 3, Embedded Systems via OpenES, usw. Keine Abhängigkeit von einem einzelnen Konzern (Offene Schnittstelle) Bestmögliche Abstimmung aller Interessen Aufwärtskompatibel Um neuere Versionen benutzen zu können muss nicht der komplette Code neu geschrieben werden Von Herstellern leicht erweiterbar Besondere Features einzelner Herstellers können so auch von allen genutzt werden

Nachteile Keine Abhängigkeit von einem einzelnen Konzern (Offene Schnittstelle) Kann sich das Gremium nicht einigen gibt es keine neuen Versionen Abwärtskompatibel Altlasten die auf moderner Hardware so nicht mehr funktioniert Von Herstellern leicht erweiterbar Es herrscht mitunter ein Extension-Chaos Nur eine Spezifikation einer Schnittstelle Nicht zwingend Hardwarebeschleunigt und keine Möglichkeit zu erfragen was die Hardware kann Keine Unterstützung bei externen Dingen (Laden von Modellen o. Texturen)

Arbeitsweise Client / Server Architektur Der Client (Anwendung) schickt Befehle zum Server (Grafikkarte) und dieser führt sie aus, wenn er Zeit hat. Asynchron. Zustandsautomat (Statemachine) Parameter (Farbe) werden ein Mal gesetzt und wirken sich auf alle Elemente aus bis sie anders gesetzt werden. OpenGL kennt nur Primitive Primitive sind: Punkt, Linie, Dreieck, Viereck, Polygon und mehr. Dabei wird das Primitiv über Eckpunkte (Vertices) definiert. Nicht die Kamera bewegt sich sondern die Welt wird verschoben Es wird immer nur der Koordinatenursprung verschoben.

Arbeitsweise (was passiert beim Rendern) Übergabe der Flächen an OpenGL Flächen werden intern in Dreiecke zerlegt. Transformation auf Weltkoordinaten Clipping von Dreiecken außerhalb des sichtbaren Bereiches Rasterizer zerlegt die Dreiecke in Fragmente (Pixel im Farbpuffer) Tiefentest überprüft ob Fragmente sichtbar sind Dazu ist für jedes Fragment die Tiefe innerhalb des Tiefenpuffers hinterlegt (16 oder 24 Bit Wert). Berechnen der entgültigen Fragmentfarbe und Schreiben in den Farb- und Tiefenpuffer

glscene Demonstration

glscene (Vorteile) Selbst ohne große Kenntnisse ist es recht einfach möglich schnell Ergebnisse zu erzielen Viele Sachen werden einem direkt abgenommen (Texturen, Modelle)

glscene (Nachteile) Verhält sich nicht ganz wie OpenGL Kamera gibt es in OpenGL nicht direkt Positionierung der Elemente Es ist nicht immer ersichtlich was intern passiert Interne Berechnungen lassen sich mitunter recht leicht ausheben Sehr komplexe Kapselung Nicht immer die neuste Technologie möglich Verringerter Support Stärkere Abhängigkeit einer einzelnen Person (Veröffentlichungen waren 2002, 2003 und 2006) Spezielle Optimierungen sind nur bedingt möglich (Allgemeingültig)

OpenGL per Hand Demonstration

OpenGL per Hand (Vorteile) Vollständige Kontrolle über alles was passiert Neue Technologien können ideal in die Anwendung eingebaut werden (Performance) Overhead durch nicht benutze Parameter lässt sich minimieren Da die Befehle fest definiert sind kann man nahezu überall Support finden

OpenGL per Hand (Nachteile) Mitunter sehr deutlich erhöhter Zeitaufwand beim Entwickeln Durch die Fülle an Befehlen und Parametern ist es wesentlich einfacher etwas falsch zu machen Es besteht die Möglichkeit von der Masse der Befehle erschlagen zu werden

Debugging Probleme Durch Client/Server kaum sinnvolles Debuggen möglich Selbst ohne Fehler können kleine Abweichungen große Wirkungen haben Was kann ich tun? Regelmäßig auf Fehler prüfen In der Regel lässt sich vieles ohne eine Unzahl an Parametern realisieren Lieber weniger Parameter benutzen Im Problemfall lieber ein paar mehr OpenGL Befehle auskommentieren

Trends Zukünftige Karten arbeiten ausschließlich nur noch mit Dreiecken als Primitive Weg von der festen Funktionspipeline hin zur programmgesteuerten Pipeline (Shader) Starke Parallelisierung der Recheneinheiten (Aktuell schon über 600 Recheneinheiten) Entfremdung der GPU zur Berechnung von anderen Dingen. (CUDA, ATI Stream, OpenCL)