Date post: | 06-Apr-2015 |
Category: |
Documents |
Upload: | lene-rehagen |
View: | 117 times |
Download: | 4 times |
Camera, Lights, Action…Camera, Lights, Action…
Dirk PrimbsDirk PrimbsDeveloper EvangelistDeveloper EvangelistDeveloper Platform & Strategy GroupDeveloper Platform & Strategy GroupMicrosoft Deutschland GmbHMicrosoft Deutschland GmbH
Agenda Agenda
Einordnung von DirectXEinordnung von DirectX
Ein Wenig von Vektoren und MatrizenEin Wenig von Vektoren und Matrizen
Riding the Render PipelineRiding the Render Pipeline
AusblickAusblick
Was ist DirectX ?Was ist DirectX ?
DirectX sind eine Sammlung von DirectX sind eine Sammlung von Technologien, die einer Windows-Technologien, die einer Windows-Applikation Multimedia-Fähigkeiten zur Applikation Multimedia-Fähigkeiten zur Verfügung stellen.Verfügung stellen.
Es ist eine hardware-unabhängige API.Es ist eine hardware-unabhängige API.
DownloadDownloadhttp://msdn.microsoft.com/directxhttp://msdn.microsoft.com/directx
Keine Überdeckung mit Avalon.Keine Überdeckung mit Avalon.
DirectX ÜbersichtDirectX Übersicht
Komponenten von DirectXKomponenten von DirectXDirectX GrafikDirectX Grafik
Direct3D – 3D GrafikDirect3D – 3D Grafik
DirectDraw – 2D GrafikDirectDraw – 2D Grafik
DirectX AudioDirectX AudioDirectSoundDirectSound
Aufnahme und AbspielenAufnahme und Abspielen
Echtzeit MischenEchtzeit Mischen
Surround Sound und 3D AnordnungSurround Sound und 3D Anordnung
Filter und Effekte (reverb, distortion, etc)Filter und Effekte (reverb, distortion, etc)
DirectMusic – Abspielen von KompositionenDirectMusic – Abspielen von Kompositionen
DirectX ÜbersichtDirectX Übersicht
Komponenten von DirectXKomponenten von DirectXDirectInputDirectInput
Behandelt Controler-Eingaben (Tastatur, Joystick, Maus, Behandelt Controler-Eingaben (Tastatur, Joystick, Maus, etc)etc)
Force Feedback UnterstützungForce Feedback Unterstützung
DirectPlay – Multiplayer NetzwerkunterstützungDirectPlay – Multiplayer NetzwerkunterstützungProtokolunabhängigProtokolunabhängig
Arbeitet auch über NAT und FirewallsArbeitet auch über NAT und Firewalls
Voice ChatVoice Chat
DirectShow – Streaming MediaDirectShow – Streaming MediaDirectShow Editing Services – Video EditingDirectShow Editing Services – Video Editing
DirectSetup – InstallationDirectSetup – Installation
Managed DirectXManaged DirectX
Managed DirectX KomponentenManaged DirectX KomponentenDirectX GrafikDirectX Grafik
2D – DirectDraw2D – DirectDraw
3D – Direct3D3D – Direct3D
DirectSoundDirectSound
DirectInputDirectInput
DirectPlayDirectPlay
AudioVideoPlaybackAudioVideoPlaybackEinfaches Audio/Video PlaybackEinfaches Audio/Video Playback
Unterstützung aller Features!Unterstützung aller Features!
Managed DirectXManaged DirectX
Nicht in Managed DirectXNicht in Managed DirectXDirectShowDirectShow
DirectMusicDirectMusic
DirectSetupDirectSetupNicht sinnvoll für .NET ProgrammeNicht sinnvoll für .NET Programme
Ein wenig 3D TheorieEin wenig 3D Theorie
Koordinaten und PrimitiveKoordinaten und Primitive
Linkshändiges KoordinatensystemLinkshändiges Koordinatensystem
Vektor = Tupel mit 3 Zahlen, definiert Vektor = Tupel mit 3 Zahlen, definiert X-,Y-,Z-Wert eines Punktes im RaumX-,Y-,Z-Wert eines Punktes im Raum
Primitive: Punkte(1), Linien(2), Primitive: Punkte(1), Linien(2), Dreiecke(3)Dreiecke(3)
xx
yy
zz
Direct3D Grundlagen (1)Direct3D Grundlagen (1)
3D Primitive3D PrimitiveSammlung von Vertices bildet eine 3D EntitätSammlung von Vertices bildet eine 3D Entität
PunktlistenPunktlisten
PolygonePolygoneMindestens 3 VerticesMindestens 3 Vertices
Komplexere Primitive werden meist aus Komplexere Primitive werden meist aus Dreiecken aufgebautDreiecken aufgebaut
Würfel Würfel 6 Flächen á 2 Dreicke 6 Flächen á 2 Dreicke
Kugel Kugel Geoid mit Dreieckstesselierung Geoid mit Dreieckstesselierung
MeshesMeshes1 – N Polygone1 – N Polygone
Direct3D Grundlagen(2)Direct3D Grundlagen(2)
VerticesVerticesPositionsvektorPositionsvektor
FarbeFarbe
TexturkoordinatenTexturkoordinaten
NormalvektorNormalvektor
QuaternionsQuaternionsVektor für Achse + RotationswinkelVektor für Achse + Rotationswinkel
Alternative zu MatrizenAlternative zu MatrizenKomplexe Animationspfade werden in einfachen Komplexe Animationspfade werden in einfachen Quaternions ausgedrücktQuaternions ausgedrückt
Kombinierbar oder interpolierbarKombinierbar oder interpolierbarBspw. Rotation um (1,4,2) um 1 Radiant dann Rotation Bspw. Rotation um (1,4,2) um 1 Radiant dann Rotation um (2,1,3) um 0.6 Radiantum (2,1,3) um 0.6 Radiant
Direct3D Grundlagen(3)Direct3D Grundlagen(3)
Normalvektoren auf FacesNormalvektoren auf FacesBackface CullingBackface Culling
LightningLightning
ShadingShading
Direct3D Grundlagen(4)Direct3D Grundlagen(4)
DreieckeDreieckeGrundelement für ZeichenoperationenGrundelement für Zeichenoperationen
Viele Werte werden interpoliertViele Werte werden interpoliertFarbe (Diffuse, Specular)Farbe (Diffuse, Specular)
AlphablendingAlphablendingDiffuse: OpacityDiffuse: Opacity
SpecularSpecular
NebelfaktorNebelfaktorSpecular Alpha (fixed function pipeline)Specular Alpha (fixed function pipeline)
Fogregister (programmable pipeline)Fogregister (programmable pipeline)
TexturkoordinatenTexturkoordinaten
TransformationenTransformationenTransformationen im Leben eines Transformationen im Leben eines VektorsVektors
World TransformWorld TransformAus dem Model-Raum in den DarstellungsraumAus dem Model-Raum in den DarstellungsraumVerwendet für Translationen, Rotationen und Verwendet für Translationen, Rotationen und SkalierungSkalierung
View TransformView TransformPositioniert die KameraPositioniert die KameraWohin sieht die KameraWohin sieht die KameraWelche Richtung ist oben Welche Richtung ist oben
Projection TransformProjection TransformWie sieht die Kamera DingeWie sieht die Kamera DingeBeschreibt den sichtbaren KegelBeschreibt den sichtbaren Kegel
Projection TransformProjection Transform
Sichtbarer KegelSichtbarer Kegel
Vordere Clipping-EbeneVordere Clipping-Ebene
Hintere Clipping-EbeneHintere Clipping-Ebene
Arbeiten mit Direct3DArbeiten mit Direct3D
Device erstellenDevice erstellen
Device wiederherstellen bei VerlustDevice wiederherstellen bei Verlust
Vertexdaten verarbeitenVertexdaten verarbeiten
Szene RendernSzene Rendern
Szene RendernSzene Rendern
Device.ClearDevice.Clear
BeginSceneBeginScene
VertexBuffer erstellenVertexBuffer erstellen
Vertices transformierenVertices transformieren
Primitive zeichnenPrimitive zeichnen
EndSceneEndScene
PräsentierenPräsentieren
Dreiecke sind interessanter Dreiecke sind interessanter als man glaubt… als man glaubt…
FazitFazit
Managed DirectX ermöglicht es, die 3D Managed DirectX ermöglicht es, die 3D Grafikhardware direkt zu Grafikhardware direkt zu programmierenprogrammieren
MDX ist gar nicht so schwer…MDX ist gar nicht so schwer…
… … und kann nicht nur für Spiele genutzt und kann nicht nur für Spiele genutzt werden.werden.
ResourcesResources
msdn.microsoft.com/msdn.microsoft.com/directXdirectX
www.thezbuffer.comwww.thezbuffer.comDirectX WebCasts auf DirectX WebCasts auf www.microsoft.com/germany/msdn/webcastswww.microsoft.com/germany/msdn/webcasts
Eine Demo hab’ ich noch…Eine Demo hab’ ich noch…
Links zur DemosceneLinks zur Demoscene
http://www.farb-rausch.dehttp://www.farb-rausch.de
http://www.scene.orghttp://www.scene.org
http://www.digitalekultur.orghttp://www.digitalekultur.org
© 2005 Microsoft Deutschland GmbH. All rights reserved.© 2005 Microsoft Deutschland GmbH. All rights reserved.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.