Inhalt/Gliederung
Inhalt /Gliederung
Vorwort 3
1 Ziele dieser Arbeit 5
2 Computergrafik 5
3 GDI 6
4 DirectX 6
4.1 DirectDraw 7
4.1.1 Hardware Abstraktion Layer 8
4.1.2 Hardware Emulation Layer 8
4.2 Direct3D 9
5 OpenGL 11
6 Glide 11
7 Zusammenfassung und Ausblicke 12
Anhang
Quellen
- 2 -
Vorwort
Hinter der Arbeit mit einem Computer steht eine gewisse Ethik, die leider nicht jedem User bewusst ist, der mit einem PC arbeitet. Viele Leute sitzen Tag für Tag in einem Büro und arbeiten an ihren Computer und schreiben seitenlange Words - Texte oder füllen irgendwelche Excel -Tabellen. Ja man kann sagen Sie beherrschen ihr Programm, aber wissen die Personen auch, wie ihr Programm funktioniert, nicht wie man es bedient, wie es funktioniert. Wieso kommt die Zahl 312,89 genau in die Zelle A345 oder was passiert, wirklich wenn man die Shift - Taste betätigt, ein Computer kennt keine Groß- und Kleinschreibung. Aus diesen Gründen mussten die Betriebsysteme für die modernen Schreibmaschinen programmiert werden, das kleine Kind Computer musste die Unterscheidung der einzelnen Tasten einer Tastertur lernen. Doch damit ist das Bild des Buchstabens, des Zeichens oder der Zahl noch lange nicht auf dem Bildschirm. Der Computer musste es auch lernen die Ausgabe auf ein Entfanggerät, wie einen Monitor oder einen Drucker zu gewährleisten. Gut man kann nicht von einem „Bürohengst“ verlangen, das er weiß, wie sein System funktioniert, doch ein Programmierer sollte dies wissen. Und wie man in der Praxis stehen kann ist der Aufstieg vom DAU (Dümmster anzunehmender User), der sein CD-ROM - Laufwerk als Kaffeetassenhalter benutzt, zum Hacker im eigentlichen Sinn zuschaffen, welcher alle Details eines programmierbaren System erforscht und versucht deren Möglichkeiten auszudehnen, jemand, der euthusisiatisch, sogar obzessiv, programmiert oder lieber ein Programm schreib, als nur über ein anderes zu theoretisierteren. Doch um ein guter Programmierer zuwerden ist es von äußerder Wichtigkeit sein System zukennen und zu wissen was System tut.
Deshalb habe ich diese Facharbeit in erster Linie systemtheoretisch aufgebaut, da ich der Meinung bin, man muss sein System kennen und auch die Vorgänge die in diesem vor sich gehen, um ein guter und dem entsprechend professioneller Programmier seinen, denn auch unter den Programmierern gibt es genügend DAU, diese Leute wissen, wie man ein Programm programmiert, aber wissen nicht was ihr Computer in Wirklichkeit tut. Der praktische und auch der Teil in dem die Teile der Programmierung ist auf einer CD der Arbeit beigefügt, den Quellcode kann man in durch kleine Änderungen in jeder Programmiersprache nutzen, in dem man den 3D-API in der Programmiersprache als Komponente hinzufügt.
- 3 -
1 Ziele dieser Arbeit
Ziel dieser Facharbeit ist es, dem Leser grundlegende Inhalte der Strukturen, moderner dreidimensionaler Computergraphiken, am Beispiel von DirectX und OpenGL darzulegen. Ausgangsfragestellungen für diese Arbeit waren:
-Was ist eine Computergrafik?
-Was ist das GDI?
-Was ist DirectX?
-Was ist OpenGL?
-Was ist Glide?
Am Ende dieser Arbeit sollte also jeder Leser wissen, wie eine dreidimensionale Grafik funktioniert und wie so es wichtig ist deren Aufbau genaustes zukennen, denn nach der Erfassung steht natürlich auch der Wusch eine dreidimensionale Animation in seine Programme einzubauen bzw. ein kleines 3D-Spiel zuprogrammieren. Doch eine gezielte dreidimensionale Programmierung kann nur erfolgen, wenn man alle Grundlage für diese kennt und auch weiß, wie ein Rechner eine dreidimensionale Grafik aufbaut, d.h. man sollte dabei auch über die rechnerinternen Vorgänge bescheit wissen und auch das Zusammenwirken von Rechner und Betriebssystem dabei im Hinterkopf haben. Denn man ist kein Programmierer, wenn man nur weiß wie man programmiert, dann ist man nur eine Person die eine Sprache sehr gut sprechen kann, aber ein richtiger Programmierer sollte wissen, was er tut und nicht nur das machen können, er mal im Studium oder im Informatikunterricht gelernt hat, er sollte seine Maschine beherrschen. Dies kann er aber nur, wenn er den Computer auch als solches versteht und weiß wie man ihn beherrscht, dies kann er aber nur wenn er ihn kennt.
2 Computergrafik
Man kann eigentlich grundsätzlich davon aus gehen, dass man alles, was man im täglichen Computeralltag an grafischen Elementen, wie z.b. Icons, Bilddateien, Flash usw., austretende, als Computergrafik bezeichnen kann. An dieser Stelle sollte man, aber darauf hinweisen, dass es doch zwei grundlegende Unterscheidungsmöglichkeiten gibt. Man unterteilt Computergrafiken nämlich in Pixel- und Vektorgrafiken.
- 4 -
Pixel, die Abkürzung für Picture Element (dt.: Bildpunkt), ist das kleinstmögliche Bildelement in einer digitalen Grafik. Eine Pixelgrafik ist somit eine Grafik bei der die Fläche, auch Bitmap genannt, in einzelne Bildpunkte unterteilt wird. Diese Bildpunkte bestehen auch mehreren farbigen Punkten. Man kann daraus schon erkennen, das eine solche Grafik einen enormen Speicherplatz benötigt. Aber gerade im Bereich der digitalen Fotografie ist ein solches Verfahren wesentlich besser geeignet, als das Speicherverfahren der Vektorgrafik.
Bei einem Vektor spricht man von einer geraden Linie (Strecke) mit Länge und Richtung, bei diese durch Angabe von Anfangs- und Endpunkt definiert wird. Daher bracht man nicht, wie bei einer Pixelgrafik die einzelne Pixel speichern, sondern nur eine mathematische Beschreibung der Objekte. Bespiel dafür wäre zum Beispiel, dass bei einer Linie nur Anfangs- und Endpunkt und bei einem Kreis nur Mittelpunkt und Radius gespeichert werden. Daher kann man Vektorgrafiken auch ohne Qualitätsverluste vergrößern bzw. verkleinern.
3 GDI
Für die Ausgabe von Grafiken und Texten auf den Bildschirm ist ein Teil von Windows zuständig, der als Grafical Device Interface, kurz GDI, bezeichnet wird. Das GDI enthält eine Vielzahl von Grafikmethoden, welche im allgemein relativ schnell von Windows aus geführt werden können. GDI-API - Funktionen sind unter anderen Polygon, Polyline und RoundRect. Allen GDI-API-Funktionen ist folgendes gemeinsam, sie zeichnen direkt in einen Gerätkontext. Man muss sich den Gerätekontext als den aktuellen Zustand der Innenfläche eines Formulars oder eines Bildfeldes vorstellen, in den der Gerätekontext eine Vielzahl von Attributen besitzt, wie z.B. ein Hindergrundmuster, eine Zeichenfarbe, eine Zeichenstärke oder eine Farbpalette. Das GDI besitzt keinen direkten Zugriff auf die Hardware der Grafikkarte.
4 DirectX
Allen „Zockern“ ist folgende Frage sicherlich ein Begriff: „Wo bekomme ich die neue Version DirectX her?“ Doch was verbirgt sich hinter dem Begriff DirectX? DirectX scheint auf Grund dieser Aussage ein Treiber oder ähnliches zusein, doch in wirklich verbirgt sich hinter dem Begriff DirectX folgendes: DirectX wurde von Microsoft als direkte Hardware-
- 5 -
Schnittstelle entwickelt. DirectX ist somit eine standardisierte Programmierschnittstelle bestehend aus mehreren API 1 . Eine besondere Stellung ist dabei den 3D-API zuzuordnen, welches zur Programmierung von 3D-Anwendungen bzw. 3D-Computergrafiken dient, Beispiele dafür sind HEIDI, OpenGL und Direct3D. DirectX besteht deshalb auch aus mehren Bausteinen, um zusammen eine Schnittstelle auf die komplette Hardware eines PCs bieten zukönnen. Die Bausteine sind DirectDraw, Direct3D, DirectInput, DirectSound und DirectPlay.
4.1 DirectDraw
DirectDraw stellt über den HAL (Hardware Abstraction Layer) einen direkten Zugriff auf die Grafikkarte zur Verfügung. Sollte dies nicht möglich sein, weil die Grafikkarte kein DirectDraw unterstützt, wird der HEL (Hardware Emulation Layer) verwendet. Hierbei kommt es zu einer erweiterten Kommunikation mit dem GDI, sowie dem DDI. Der HEL emuliert das DirectDraw angeforderte Leistungsmerkmal. Dennoch besitzt der HEL im Gegensatz zum GDI einen direkten Zugriff auf die Grafikkarte.
Abb. 1: Einbindung von DirectDraw in der DirectX-Umgebung 4.1.1 Hardware Abstraction Layer
- 6 -
Der HAL unterstützt alle speziellen Eigenschaften einer Grafikkarte, wie z.B. ihre 3D-Beschleunigung, ihre MPEG-Beschleunigung usw., dies wird durch eine grafikkartenspezifische Schnittstelle beschrieben. Diese Grafikkarten-Treiber werden im Regelfall vom Hersteller zur Verfügung gestellt und in das Windows Device Management Concept (Gerätemanager) eingebunden. Diese Treiber können in 16- oder 32-Bit-Code vorkommen und bereit gestellt werden, unter Windows NT/200 kommen diese prinzipiell als 32-Bit-Code vor, da diese schon vollkommen mit der 32-Bit Technologie arbeiten, dies ist nicht zu verwechseln mit der Farbtiefe der Grafikkarte. Es kann manchmal vorkommen, dass der HAL nicht zu den Grafikkartentreibern gehört, dann wird er über eine seperate DLL eingebunden.
Der HAL unterstützt nur Eigenschaften für dir er speziell vom Hersteller für die Grafikkarte entwickelt wurde. Es kann deshalb vorkommen das HAL Techniken von DirectDraw nicht unterstützt werden, deshalb können diese auch nicht emuliert werden, dies macht sich bei älteren System beim Einsatz von erweiterten Techniken wie OverlaySurfaces oder BLTFX bemerkbar.
4.1.2 Hardware Emulation Layer
Es kann aber auch vorkommen, dass der HAL einen Dienst bzw. ein Merkmal von DirectDraw nicht unterstutzt, jetzt kann DirectDraw jedoch probieren dieses Merkmal zu emulieren. Diese Emulation wird durch den HEL beschrieben, dieser präsentiert nun die Leistungsfähigkeit von DirectDraw, so wie es der HAL tun würde. Bei dem HEL handelt es sich somit um eine Softwarelösung, welche deshalb auch wesentlich langsamer alles die direkte Hardwareunterstützung des HAL operieren kann. Durch diese Emulationssoftware wird ein hohes potential an Rechenleistung des Rechners verlangt, damit eine flüssige und anschauliche Ausführung der von DirectDraw unterstützten Software gewährleistet ist. Andererseits gibt es keine Grafikkarte, welche alle Leistungsmerkmale von DirectDraw unterstützt, somit ist der Einsatzt des HEL durchaus legitim. Beachtet man ausserdem noch, dass die Computersysteme immer schneller werden, kann man damit rechnen, das viele Leistungen durch den HEL umgesetzt werden.
- 7 -
4.1 Direct3D
Direct3D ist der Teil von DirectX, der den eigentlichen Weg zur 3D-Computergrafik öffnet. Es wurde von Microsoft konzipiert um High-Performance-Grafik umzusetzen. Im Gegensatz zu Glide oder OpenGL arbeitet das Direct3D-API mit allen modernen Grafikarten zusammen. Obwohl Direct3D eine leistungsfähige Softwareemulation beinhaltet, entfaltet es sein volles Leistungspotential erst bei der direkten Nutzung der Hardware. Doch bis vor kurzen waren die Grafikkarten noch nicht in der Lage den vollen Leistungsumfang von Direct3D zu unterstützen und waren so gezwungen auf die Alternativen Glide und OpenGL zurück zugreifen. Doch der Grafikkartenprozessorhersteller Nvidia schaffte mit seinem Riva128-Prozessor erstmals die volle Unterstützung von D i-rect3D zu ermöglichen, doch dieser Prozessor war noch zu langsam und bald musste ein Nachfolger mit der RivaTnT war erst mal ein schneller Grafikprozessor geschaffen der eine schnelle Unterstützung zu Direct3D bieten konnte. Doch dies war noch nicht genug die RivaTnT löste eine kleine Revolution in der Grafikartenprozessorindustrie aus, Nvidia hatte alle Patente und kaufte nach und nach alle großen Grafikprozessorhersteller, wie z.B. 3Dfx auf, und entwickelte dann doch die Nachfolgergeneration des TnT-Chipsatz, die GeForce. Durch diese Entwicklung wurden den Programmierern neue Dimensionen geschaffen, erkonnte auf eine allgemeine Schnittstelle zugreifen, die von jeder Grafikkarte unterstützt werden kann und OpenGL und Glide verloren an Bedeutung, jedenfalls im Windows-Bereich.
Direct3D stellt zwei verschiedene Modes zur Verfügung, der Retained Mode (RM) und der Immediate Mode (IM). Der RM ist ein High Level Interface, d.h. er ist vergleichbar mit einer keinen 3D-Engine 3 , dadurch werden schon eine Reihe von fortgeschrittenen Techniken bereitgestellt, d.h. es kann relativ einfach auf sie zu gegriffen werden. Somit kann mit wenig Quellcode schon anschauliche Ergebnisse erzielt werden. Doch eine Anwendung die mit RM programmiert wurde ist wesentlich langsamer und ist auch sonst in den Effekten und eines dreidimensionalen Raum nicht so flexibel, des weiteren kommt auch RM nicht ohne Hinder-grundkenntnisse aus. Irgendwann wird man auch an die Grenzen von RM gezwungen, was einen zu einer leistungsfähigeren Technik zwingt. Der Immediate Mode ist ein Low Level Interface. Der Name sagt es eigentlich schon (immediate = direkt), man erhält dem zufolge einen direk-
- 8 -
ten Zugriff auf 3D-Grafik-Pipelines. Sollte eine direkte Verbindung zu verfügten Hardware felhen, so tritt eine robuste Softwareemulation in Kraft. IM stellt einfache und offene Methoden zum Initialisieren und Rendern einer Szene zur Verfügung. Doch um einen solchen kraftvollen Mode zu nutzen, muss men folgenden Preis in Kauf nehmen: Alle Elemente einer 3D-Szene müssen explizit benannt werden und man benötigt genaues Kenntnisse über die verfügbare Hardware. Ebenfalls sollte man mit Matrizenmanipulation vertraut sein, da die 3D-Objekte durch diese berechnet werden. Hierbei werden Form, Lage, Perspektive usw. definiert.
In Tabelle 1 werden beide Wege nun gegenübergestellt.
Tabelle 1: Vergleich beider Mode für den Prgramierer
Zuletzt ist noch die Einbindung von Direct3D im Windows zubetrachten. Direct3D ähnelt stark dem GDI, es enthält eine viel Zahl von Grafikmethoden und zeichnet im Gerätekontext. Für die Ausgabe sind wieder der HAL und HEL zuständig.. Man muss sich Direct3D somit als ein GDI vorstellen, welches auf einen Grafikprozessor konzipiert ist.
Abb.2: Einbindung von Direct3D in die Systemumgebung
- 9 -
5 OpenGL
OpenGL ist die Abkürzung für "Open Graphics Language". Es handelt sich bei OpenGL um eine hardwaretunabhängige (Programmier-) Schnittstelle zum Grafiksubsystem eines Rechners zur Darstellung von (bewegten) dreidimensionalen Objekten, OpenGL basiert auf Iris GL von Silicon Graphics (SGI) und wurde von Microsoft lizenziert. Die Lauffähigkeit von OpenGL auf einer bestimmten Plattform wird durch eine entsprechende Implementierung bzw. Hardwaretreiber erreicht, der aber nicht nur unter Windows zufinden ist, deshalb ist OpenGL im Gegensatz zu DirectDraw und Direct3D nicht vom Betriebsystem abhängig, sondern kann auch durch eine Neukompilierung des Quelltextes unter einen anderen Betriebsystem, wie z.B. Unix oder BeOS, in Betrieb genommen werden.
Das Oberflächenmanagement wird von der zugrundeliegenden OS-Plattform geleistet. OpenGL schreibt direkt in den Framebuffer 2 , deren Inhalte dann entsprechend in die Oberfläche über Fenster eingefügt werden. Der Framebuffer ist also Voraussetzung für die Verwendung von OpenGL, einige Operationen von OpenGL beruhen sogar auf Framenbuffer-Manipulationen.
OpenGL ist client-/serverfähig, so dass OpenGL in einem Netzwerk lauffähig ist. OpenGL benutzt primitive Formen (Punkte, Linien, etc.), um durch deren Assemblierung komplexere Objekte zu realisieren. Diese Objekte bzw. die Gesamtszene erhalten erhält dann Attribute durch bestimmte Operationen (Textur, Beleuchtung, etc.). Allerdings existieren Erweiterungen zu OpenGL, die ein mehr intuitives Design von Szenen zulassen.
Darüber hinaus existiert die Möglichkeit, Operationen zu definieren, die Interaktivität erlauben. Durch diese Echtzeitkomponente entsteht der Anspruch an OpenGL, eine gewisse Performance, d.h. einen hohen Anspruch an Rechenleistung, zu verlangen. In diesem Zusammenhang erlangten die Hardware-Beschleuniger ihre Bedeutung. OpenGL ist ein Echtzeitsystem im Gegensatz zu z.B. Raytracing-Applikationen 4 . OpenGL bietet einen etwa 120 Kommandos umfassende API an, über den die Leistungsmerkmale von OpenGL zugänglich sind.
6 Glide
- 10 -
Glide ist die proprietäre API von 3dfx zur optimalen Ausnutzung der Voodoo-Karten.. Wie auch OpenGL und DirectX ist Glide eine Schnittstelle, welche die Grafikkarte die Grafikkarte ausnutzt. Doch die Zusatzfunktionen der APIs setzen eine entsprechende Hardware-Unterstützung voraus. Ist diese nicht vorhanden, wird die entsprechende Funktionalität in Software emuliert, was zu starken Performance-Einbußen führt. Am 06.12.1999 mache der 3Dfx-GEO Alex Leupp allen Softwareprogrammieren ein Nicklausgeschenk ergab den Glide-API als Open Source frei, somit kann Glide jetzt auch auf anderen Plattformen benutzt werden.
"Glide wurde ursprünglich als Antwort auf das Bedürfnis der Industrie nach einen API entwickelt, das es Entwicklern erlaubt, von den Möglichkeiten der 3D-Beschleuniger-Chips zu profitieren", so Al Reyes, Director Strategic Marketing bei 3dfx Interactive. "Heute haben wir die führende Rolle im Bereich der 3D-Grafik unter Linux und der Open-Source-Community übernommen, indem wir Programmierern und Entwicklern die Tools in die Hand geben, damit das API mit der rasanten Entwicklung der 3D-Chips mithalten kann."
"3dfx hat mit der Freigabe von Glide eine große Bedeutung für die Linux-Community", kommentiert Linux-Erfinder Linus Torvalds. Durch diesen Schritt wurde Glide erst mal auch anderen Grafikarten zugänglich.
7 Zusammenfassung und Ausblicke
Das Microsoft eine eindeutige Monopolstellung in der Computerindustrie kann man selbst im Bereich der 3D-API hat, kann man sehr gut sehen, Microsoft hat den am meist verbreiteten 3D-API im Windows-Bereich geschaffen und hat die Softwareprogrammierer und die Hardwareindustrie auf seiner Seite, wie man am Beispiel Nvidia sehen kann, denn die Nvidia-Grafikprozessoren unterstützen seit der Riva128-Generation ausnahmslos den DirectX-API. Auch die neue Volume Texture Compression (VTC) hat Microsoft sich sichern lassen, bei der 3D-Texturen nicht mehr nur einfach Bitmap-Grafiken enthalten, die auf ein Objekt gelegt werden, sondern echte 3D-Strukturen. Damit wirken 3D-Objekte nicht mehr, als wären sie mit platten Bildern belegt, sondern haben Furchen, Kratzer, Nieten oder sonstige unebene Oberflächen, wie man es aus der Realität gewohnt ist. Diese zusätzlichen 3D-Informationen sollen - entsprechend leistungsfähige 3D-Grafikprozessoren vorausgesetzt - Echt-
- 11 -
zeit-3D-Grafik in "Kinoqualität" ermöglichen, sorgen jedoch für einen erhöhten Speicherplatzbedarf. VTC ist seid der achten Version von DirectX Standard.
Doch seid Anfang diesen Jahres ist es Linux-Programmierern gelungen einen Linux-Port zu entwickeln, dieser ist in der aktuellen Version des von der TransGaming.com entwickelten Wine vorhanden. Bei Wine handelt es sich um ein Open-Source-Projekt, das Microsofts Windows-APIs unter Linux verfügbar machen will. So lassen sich normale Windows-Applikationen auch unter Linux verwenden. Zwar ist Wine noch ein ständiges Alpha-Release, dennoch lassen sich mit den aktuellen Versionen viele Applikationen unter Linux fahren, einschließlich Microsoft Office und dem Internet Explorer. Da Wine keine Windows-Plattform ist oder wie VMware einen virtuellen PC emuliert, sondern lediglich die benötigte Umgebung für die Windows-Programme zur Verfügung stellt, laufen die Applikationen nicht unbedingt langsamer als unter Windows und lassen sich komplett in den Linux-Desktop integrieren. Wie man durch solche Beispiel sehen kann ist die DirectX-Technologie und das damit engverbundene Direct3D eine sehr große Bedeutung für die Softwareindustrie hat. Und das es sehr wichtig ist, wenn man eine solche Art der Programmierung bevorzugt oder programmieren will, deren Grundlagen zu kennen, auch wenn es Tools wie DarkBasic gibt. DarkBasic ist eine leicht zu erlernende Programmiersprache, welche einen Einstieg in die Welt der 3D-Spieleprogrammierung bietet. Bereits jetzt gibt es eine große Community von Nutzern, welche die Vorzüge dieser leicht zu erlernenden Programmiersprache und eines auch für Anfänger einfach zu bedienenden Interfaces zu schätzen wissen.
- 12 -
Anhang 1 API ist die Abkürzung für Application Programming Interface (dt. Anwendungsprogrammierschnittstelle). Daher spricht man von einer genormten Programmierschnittstelle, über die der Programmierer einfachen Zugriff auf Funktionen des Betriebsystems bzw. der Benutzeroberfläche hat. Durch API wird die Programmierung einer Anwendung stark vereinfacht. 2 Der Framebuffer ist Teil des Grafikspeichers, in dem bereits das Bild aufgebaut wird, das als nächstes auf dem Bildschirm erscheint. Zusätzlich werden Transparenteffekte im Framebuffer berechnet. 3 3D-Engine ist eine dreidimensionale Welt, auf die man belieb zugreifen kann. Firmen, wie ID Software oder Eidos, benutzten ihre eigenen 3D-Engine um sich das programmieren der Anwendungen zu erleichtern. Es ist somit vergleichbar mit einen API, nur das es sich nicht um einen Direktzugriff auf ein System bzw. auf das Betriebsystem handelt, sondern auf z.B. 3D-Modelle oder 3D-Polygone usw. . 4 Raytracing ist die englische Bezeichnung für "Lichtstrahlverfolgung". Raytracing ist ein Verfahren zur perfekten, photorealistischen Darstellung dreidimensionaler Objekte mit Hilfe entsprechender Programme wie 3D STUDIO MAX oder FRESCOmovie. Bei dieser Methode werden Schatten, Lichtbrechungen, Spiegelungen und Reflexion berücksichtigt, so dass ein sehr realistischer Eindruck entsteht.
- 13 -
Quellen
Kettermann, Uwe; Schmelzer, Christian: DirectX mitVisual Basic programmieren. 2000 Monadjemi, Peter: Visual Basic 6. 2000 Weblexikon
http://lexikon.s-online.at/data/home.htm, Stichwort ”DirectX, OpenGL” DirectX
http://www-md.e-technik.uni-rostock.de/ Glide http://www.golem.de/ OpenGl
http://www2.inf.fh-rhein-sieg.de/
- 14 -
Arbeit zitieren:
Bernd Zuther, 2001, Grundlagen der dreidimensionalen Programmierung auf Basis von DirectX, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Formatvorlage (Microsoft Word) für eine Diplomarbeit, Masterarbeit, Ha...
Für MS Word 2003 - Update 2010
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Formatvorlage (OpenOffice) für eine Diplomarbeit, Masterarbeit, Hausar...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 35 Seiten
Formatvorlage / Vorlage zur Erstellung einer Diplomarbeit, Bachelorarb...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 15 Seiten
Formatvorlage / Vorlage für eine Diplomarbeit / Hausarbeit
Für MS Word 2007 - dotx
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Anleitung zum Erstellen schriftlicher Arbeiten: Der Aufbau einer wisse...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 20 Seiten
Erstellen einer schriftlichen Hausarbeit
Vorlagen, Muster, Formulare, Infobroschüren
Hausarbeit, 14 Seiten
Grundtechniken wissenschaftlichen Arbeitens
Bibliografieren - Reden - Schr...
Vorlagen, Muster, Formulare, Infobroschüren
Skript, 46 Seiten
Ratgeber zur Erstellung wissenschaftlicher Arbeiten. Diplomarbeiten - ...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 39 Seiten
Bernd Zuther hat den Text Grundlagen der dreidimensionalen Programmierung auf Basis von DirectX veröffentlicht
Bernd Zuther hat einen neuen Text hochgeladen
0 Kommentare