SlideShare a Scribd company logo
1 of 29
.NET and Multimedia


Sound, Video and Graphics with C#
.NET and Multimedia?
 No(!) build-in classes for audio/video
  playback or capture
 Build-In Classes for Drawing:
  System.Drawing
 But no complex graphics (e.g. 3D)
System.Drawing
 Access to GDI+ basic graphics functionality
 Advanced functionality with
  System.Drawing.Drawing2D,
  System.Drawing.Imaging, and System.Drawing.Text.
 Graphics class provides methods for drawing to the
  display device.
 Classes such as Rectangle and Point encapsulate
  GDI+ primitives.
 Pen class is used to draw lines and curves, while
  classes derrived from the abstract class Brush are
  used to fill the interiors of shapes.
Managed DirectX
 A (Low-Level) API for .NET is needed
 Solution: Managed DirectX
 Actual Version: Managed DirectX 9.0
 Provides nearly same functionality like
  DirectX 9.0
 Designed by Microsoft
Managed DirectX Overview
 Set of low-level application programming interfaces
  (APIs)
 for creating high-performance multimedia
  applications.
 Consists of
      Direct3D Graphics
      DirectDraw (Deprecated)
      DirectInput
      DirectPlay (Deprecated)
      DirectSound
      Audio Video Playback
Requirements & Advantages
Requirements
 Official: minimum required OS
    Runtime: Windows 98.
    SDK: Windows 2000.
 Inofficial: No .NET for 98.
    At least Windows 2000
    but to have fun Win XP


Benefits of Managed Code versus unmanaged
 eliminating COM interoperability layer, DirectX improves
  performance
 Managed code reduce volume of code, increase productivity.
 Interface is more intuitive, inheriting from.NET Framework
 Managed code handles memory management
DirectDraw (Deprecated)
 low-level API for 2D-Graphics
 Decaprecated since DirectX 8.0
 All the functionality for 2D is now in the
  DirectXGraphics Library
 DirectDraw API is to directly manipulate
  display memory, the hardware blitter,
  hardware overlay support, and flipping
  surface support, doing all 2D-stuff
DirectX(3D) Graphics
 API to manipulate visual models of 3-dimensional
    objects
   Take advantage of hardware acceleration like video
    graphics cards.
   DirectX Graphics: Support of 2D- and 3D-Graphics
   low-level API (Direct3D) and high-level API
    (Direct3DX)
   Low-level API for complex graphics (e.g. 3D-Games),
    high-level for fast (or faster) development
   Direct3DX is based on Direct3D
DirectX(3D) Graphics II
 DirectX Graphics directly uses the hardware
  beside the Graphics Device Interface (GDI)
  and Display Device Interface (DDI).
 Not hardware supported functions will be
  software emulated by DirectX with HEL.
 HEL: Hardware Emulation Layer, using GDI
 Support of Flipping, Blitting, Clipping, 3D Z-
  Puffer, Overlays, direct Control of video data
  stream from the hardware (Video-Port
  Manager).
DirectInput
 process data from a
     keyboard
     Mouse
     Joystick
     game controller
DirectPlay (Deprecated)
 tools to develop multiplayer applications (e.g. games)
 Provides layer that isolates application from
    underlying network.
   DirectPlay handles details of network communication.
   DirectPlay provides features to simplify process of
    implementing many aspects of a multiplayer
    application
   Negative: has a giant Overhead and is platform-
    dependend
   Not often used by Gaming Industry
DirectSound
 play wav sounds through
  various playback devices
 using special effects:
     Echo, Chorus, Compressor, Distortion,
      Flanger, Gargle, interactive3DLevel2Reverb,
      ParamEqualizer, WavesReverb
 Advanced 3D positioning effects
Structur

      Static Input Buffer
           (File…)



                               +   Effects
                                             =       Output Buffer


     Dynamic Input Buffer
      (Mic-Streaming…)




1..n Secondary Sound Buffers       Filters       1 Primary Sound Buffer
     (Hardware/Software)
Example - Basic
// create DirectSound Device
private Device dSound;

// set it up
dSound = new Device();
dSound.SetCooperartiveLevel(handle,CooperativeLevel.Priority);
// create buffer and descriptor
private SecondaryBuffer sound;
private BufferDescription d = new BufferDescription();
// Set descriptor’s flags
d.ControlPan = true;
d.ControlVolume = true;
d.ControlFrequency = true;
d.ControlEffects = true;
// create the sound
sound = new SecondaryBuffer(filePath, d, dSound); // dSound = Device
Example - Operations
 Operations for the SecondaryBuffer:

sound.Play(); // play sound
sound.Stop(); // pause sound
sound.SetCurrentPosition(pos); //stop sound
sound.PlayPosition;      // returns current playback position
sound.Volume; // volume
sound.Pan;      // balance
sound.Frequency;         // sampling frequency
sound.Status.*; // informations (playing, looping…)
sound.Format.*;// informations (channels, SamplesPerSecond…)
Example - Speakers
 Set the correct type of speakers

// Create new Speakers
Speakers s = new Speakers();
// Set properties
s.Mono = false;         // Sets as a mono speaker
s.Headphone = false;    // Sets as headphones
s.Stereo = false;       // Sets as generic stereo speakers
s.Quad = false;         // Sets as quad system (two front, two rear)
s.FiveDotOne = false;   // Sets as a 5.1 surround system
s.SevenDotOne = true;   // Sets as a 7.1 surround system
s.Surround = false;     // Sets as a generic surround system

dSound.SpeakerConfig = s;
Example - Effects
 Applying effects to audio playback

// Create EffectDescription
EffectDescription[] fx = new EffectDescription[1];
// Set Parametric Equalizer effect
fx[0].GuidEffectClass = DSoundHelper.StandardParamEqGuid;
sound.SetEffects(fx);
ParamEqEffect eqEffect = (ParamEqEffect)sound.GetEffects(0);
EffectsParamEq eqParams = eqEffect.AllParameters;
// Specific properties
eqParams.Bandwidth = 36; // Apply a gain on the highest frequency
eqParams.Gain = ParamEqEffect.GainMax;
eqEffect.AllParameters = eqParams;
// overwrite sound to reset the effect
sound = new SecondaryBuffer(filePath, d, dSound);
Direct3DSound (1)
 Advanced 3D positioning effects
// create DirectSound Device
private Device dSound;
private SecondaryBuffer sound;
private Buffer3D sound3D; // manages 3D virtualization of sound
private Listener3D listener; // point of listener

// set it up
private SecondaryBuffer sound;
private BufferDescription d = new BufferDescription();
// Set descriptor’s flags
d.ControlVolume = true;
…
d.Control3D = true; // Important to enable 3D audio!
d.Guid3DAlgorithm = DSoundHelper.Guid3DAlgorithmHrtfFull; // quality

// create the sound
sound = new SecondaryBuffer(filePath, d, dSound);
Direct3DSound (2)
// create the 3D buffer
sound3D = new Buffer3D(sound);
sound3D.Mode = Mode3D.HeadRelative; // considers distance

// set up the listener
Buffer b;
BufferDescription dp = new BufferDescription();
dp.PrimaryBuffer = true;
dp.Control3D = true;
b = new Buffer(dp, dSound);

// Create the Listener3D
listener = new Listener3D(b);
Direct3DSound (3)
// Setup initial position and options for listener and sound3D
listener.Position = new Vector3(0, 0, 0); // 3d coordinates
sound3D.Position = new Vector3(0, 0, 0);

// Make the listener ‘looking forward’
Listener3DOrientation o = new Listener3DOrientation();
o.Front = new Vector3(0, 0, 1);
o.Top = new Vector3(0, 1, 0);
listener.Orientation = o;

// Play the sound
sound.Play(0, BufferPlayFlags.Looping);
Conclusion

 DirectSound is very fast
 if the audio card doesn’t support 3D sounds,
  DirectSound will emulate them via software
   could slow down the system
 plays only wave-files
 good choice for playback of short sounds
 for long sounds or other formats (mp3) better use
  AudioVideoPlayback
AudioVideoPlayback (DirectShow)
 basic playback and simple control of audio and video
  files.
 Video class to play video files, including those that
  contain audio.
 Audio class to play audio-only files.
 You can also use the Audio class to control the audio
  properties when you play a video file.
      Note: The Audio class is primarily designed for very simple playback
       scenarios, or for use with the Video class. You can also use Microsoft
       DirectSound to play audio files, which gives you much greater control over
       the audio playback.
Playing a Video File
 reference to include


 open videofile




 control playback
converting Video
 no Support in managed
  code

 only way to do use
  unmaneged code

 walk through converted
  c++ code
Playing an Audio File
 audio object similar to video object


 synchronize audio & video


 many formats supported
OpenGL (Dis-)Advantages
 Advantages
    Platform independent
    Extensible by user
    Open-source reference implementation
    Client-Server-Model
    Mostly better driver for profesional graphic hardware

 Disadvantages
      New standard takes a long (long) time….
      Extension-chaos
      Badly support of cheap and standard graphic hardware
Direct3D (Dis-)Advantages
 Advantages
    Short time until a new standard is „produced“
    Standard mostly more advanced than hardware
    Programming language independent (COM or .NET)
    DirectX also available (Sound, Audio…)
    Software emulation for not hardware supported
     functions
    More and better drivers for cheap (no-professional)
     graphic cards
 Disadvantages
    Platform dependent (Windows)
    Closed-source (Greetings from Microsoft)
    Often many changes between different versions
Outlook
 Windows Graphics Foundation (WGF)
 should be the next subsequent API of DirectX
  9 for Windows Vista
 Following newest, unconfirmed news will
  WGF be named to DirectX 10
 But regardless of name, there will be a
  complete new architecture, not compatible
  with DirectX 9
 This would mean that all existing games
  would run only in a slower emulation modus
The end
  Thank you very much for you attention!

More Related Content

What's hot

Anthony newman y1 gd engine_terminology unit
Anthony newman y1 gd engine_terminology unitAnthony newman y1 gd engine_terminology unit
Anthony newman y1 gd engine_terminology unitanthonynewman
 
Introduction to the Graphics Pipeline of the PS3
Introduction to the Graphics Pipeline of the PS3Introduction to the Graphics Pipeline of the PS3
Introduction to the Graphics Pipeline of the PS3Slide_N
 
Skype testing overview
Skype testing overviewSkype testing overview
Skype testing overviewQA Club Kiev
 
The Purposes and Functions of components of Game Engines
The Purposes and Functions of components of Game EnginesThe Purposes and Functions of components of Game Engines
The Purposes and Functions of components of Game EnginesPaulinaKucharska
 
clCaffe*: Unleashing the Power of Intel Graphics for Deep Learning Acceleration
clCaffe*: Unleashing the Power of Intel Graphics for Deep Learning AccelerationclCaffe*: Unleashing the Power of Intel Graphics for Deep Learning Acceleration
clCaffe*: Unleashing the Power of Intel Graphics for Deep Learning AccelerationIntel® Software
 
Create a Scalable and Destructible World in HITMAN 2*
Create a Scalable and Destructible World in HITMAN 2*Create a Scalable and Destructible World in HITMAN 2*
Create a Scalable and Destructible World in HITMAN 2*Intel® Software
 
Y1 gd engine terminology (task 1)
Y1 gd engine terminology (task 1)Y1 gd engine terminology (task 1)
Y1 gd engine terminology (task 1)Matthewf2014
 
Y1 gd engine terminology (task 1)
Y1 gd engine terminology (task 1)Y1 gd engine terminology (task 1)
Y1 gd engine terminology (task 1)Matthewf2014
 
Qualcomm Hexagon SDK: Optimize Your Multimedia Solutions
Qualcomm Hexagon SDK: Optimize Your Multimedia SolutionsQualcomm Hexagon SDK: Optimize Your Multimedia Solutions
Qualcomm Hexagon SDK: Optimize Your Multimedia SolutionsQualcomm Developer Network
 
Y1 gd engine_terminology (1) (4)
Y1 gd engine_terminology (1) (4) Y1 gd engine_terminology (1) (4)
Y1 gd engine_terminology (1) (4) TomCrook
 
Y1 gd engine_terminology
Y1 gd engine_terminologyY1 gd engine_terminology
Y1 gd engine_terminologyJaket123
 
Kinect Hacks for Dummies
Kinect Hacks for DummiesKinect Hacks for Dummies
Kinect Hacks for DummiesTomoto Washio
 
SE-4128, DRM: From software secrets to hardware protection, by Rod Schultz
SE-4128, DRM: From software secrets to hardware protection, by Rod SchultzSE-4128, DRM: From software secrets to hardware protection, by Rod Schultz
SE-4128, DRM: From software secrets to hardware protection, by Rod SchultzAMD Developer Central
 
Y1 gd engine_terminology (1)
Y1 gd engine_terminology (1) Y1 gd engine_terminology (1)
Y1 gd engine_terminology (1) TomCrook
 
Reverse code engineering
Reverse code engineeringReverse code engineering
Reverse code engineeringKrishs Patil
 
Dynamic Resolution Techniques for Intel® Processor Graphics | SIGGRAPH 2018 T...
Dynamic Resolution Techniques for Intel® Processor Graphics | SIGGRAPH 2018 T...Dynamic Resolution Techniques for Intel® Processor Graphics | SIGGRAPH 2018 T...
Dynamic Resolution Techniques for Intel® Processor Graphics | SIGGRAPH 2018 T...Intel® Software
 
Y1 js engine_terminology
Y1 js engine_terminologyY1 js engine_terminology
Y1 js engine_terminologyJamieShepherd
 

What's hot (20)

Anthony newman y1 gd engine_terminology unit
Anthony newman y1 gd engine_terminology unitAnthony newman y1 gd engine_terminology unit
Anthony newman y1 gd engine_terminology unit
 
Introduction to the Graphics Pipeline of the PS3
Introduction to the Graphics Pipeline of the PS3Introduction to the Graphics Pipeline of the PS3
Introduction to the Graphics Pipeline of the PS3
 
Skype testing overview
Skype testing overviewSkype testing overview
Skype testing overview
 
engine terminology 2
 engine terminology 2 engine terminology 2
engine terminology 2
 
The Purposes and Functions of components of Game Engines
The Purposes and Functions of components of Game EnginesThe Purposes and Functions of components of Game Engines
The Purposes and Functions of components of Game Engines
 
clCaffe*: Unleashing the Power of Intel Graphics for Deep Learning Acceleration
clCaffe*: Unleashing the Power of Intel Graphics for Deep Learning AccelerationclCaffe*: Unleashing the Power of Intel Graphics for Deep Learning Acceleration
clCaffe*: Unleashing the Power of Intel Graphics for Deep Learning Acceleration
 
Create a Scalable and Destructible World in HITMAN 2*
Create a Scalable and Destructible World in HITMAN 2*Create a Scalable and Destructible World in HITMAN 2*
Create a Scalable and Destructible World in HITMAN 2*
 
Y1 gd engine terminology (task 1)
Y1 gd engine terminology (task 1)Y1 gd engine terminology (task 1)
Y1 gd engine terminology (task 1)
 
Y1 gd engine terminology (task 1)
Y1 gd engine terminology (task 1)Y1 gd engine terminology (task 1)
Y1 gd engine terminology (task 1)
 
Qualcomm Hexagon SDK: Optimize Your Multimedia Solutions
Qualcomm Hexagon SDK: Optimize Your Multimedia SolutionsQualcomm Hexagon SDK: Optimize Your Multimedia Solutions
Qualcomm Hexagon SDK: Optimize Your Multimedia Solutions
 
Y1 gd engine_terminology (1) (4)
Y1 gd engine_terminology (1) (4) Y1 gd engine_terminology (1) (4)
Y1 gd engine_terminology (1) (4)
 
Engine terminology
Engine terminologyEngine terminology
Engine terminology
 
Explore Android Internals
Explore Android InternalsExplore Android Internals
Explore Android Internals
 
Y1 gd engine_terminology
Y1 gd engine_terminologyY1 gd engine_terminology
Y1 gd engine_terminology
 
Kinect Hacks for Dummies
Kinect Hacks for DummiesKinect Hacks for Dummies
Kinect Hacks for Dummies
 
SE-4128, DRM: From software secrets to hardware protection, by Rod Schultz
SE-4128, DRM: From software secrets to hardware protection, by Rod SchultzSE-4128, DRM: From software secrets to hardware protection, by Rod Schultz
SE-4128, DRM: From software secrets to hardware protection, by Rod Schultz
 
Y1 gd engine_terminology (1)
Y1 gd engine_terminology (1) Y1 gd engine_terminology (1)
Y1 gd engine_terminology (1)
 
Reverse code engineering
Reverse code engineeringReverse code engineering
Reverse code engineering
 
Dynamic Resolution Techniques for Intel® Processor Graphics | SIGGRAPH 2018 T...
Dynamic Resolution Techniques for Intel® Processor Graphics | SIGGRAPH 2018 T...Dynamic Resolution Techniques for Intel® Processor Graphics | SIGGRAPH 2018 T...
Dynamic Resolution Techniques for Intel® Processor Graphics | SIGGRAPH 2018 T...
 
Y1 js engine_terminology
Y1 js engine_terminologyY1 js engine_terminology
Y1 js engine_terminology
 

Viewers also liked

Teaching Digital Composition with Blogs
Teaching Digital Composition with Blogs Teaching Digital Composition with Blogs
Teaching Digital Composition with Blogs Krista Kennedy
 
Teaching Digital Composition: Tips, Approaches, & Benefits
Teaching Digital Composition: Tips, Approaches, & BenefitsTeaching Digital Composition: Tips, Approaches, & Benefits
Teaching Digital Composition: Tips, Approaches, & BenefitsAmy Goodloe
 
Games for language teaching
Games for language teachingGames for language teaching
Games for language teachingbuket77
 
Image Morphing: A Literature Study
Image Morphing: A Literature StudyImage Morphing: A Literature Study
Image Morphing: A Literature StudyEditor IJCATR
 
Heathrow Airport - Refurbishment of Terminal 1
Heathrow Airport - Refurbishment of Terminal 1Heathrow Airport - Refurbishment of Terminal 1
Heathrow Airport - Refurbishment of Terminal 1Yash Mittal
 
The Physical Layer
The Physical LayerThe Physical Layer
The Physical Layeradil raja
 
Lua - Programming Language
Lua - Programming LanguageLua - Programming Language
Lua - Programming LanguageVarun Sharma
 
The new digital operating model
The new digital operating modelThe new digital operating model
The new digital operating modelCharles Betz
 
Image processing
Image processingImage processing
Image processingVarun Raj
 

Viewers also liked (13)

Teaching Digital Composition with Blogs
Teaching Digital Composition with Blogs Teaching Digital Composition with Blogs
Teaching Digital Composition with Blogs
 
Introduction to DirectX 11
Introduction to DirectX 11Introduction to DirectX 11
Introduction to DirectX 11
 
Teaching Digital Composition: Tips, Approaches, & Benefits
Teaching Digital Composition: Tips, Approaches, & BenefitsTeaching Digital Composition: Tips, Approaches, & Benefits
Teaching Digital Composition: Tips, Approaches, & Benefits
 
Games for language teaching
Games for language teachingGames for language teaching
Games for language teaching
 
Image Morphing: A Literature Study
Image Morphing: A Literature StudyImage Morphing: A Literature Study
Image Morphing: A Literature Study
 
Heathrow Airport - Refurbishment of Terminal 1
Heathrow Airport - Refurbishment of Terminal 1Heathrow Airport - Refurbishment of Terminal 1
Heathrow Airport - Refurbishment of Terminal 1
 
Direct X
Direct XDirect X
Direct X
 
The Physical Layer
The Physical LayerThe Physical Layer
The Physical Layer
 
Visual effects(VFX)
Visual effects(VFX)Visual effects(VFX)
Visual effects(VFX)
 
Lua - Programming Language
Lua - Programming LanguageLua - Programming Language
Lua - Programming Language
 
The new digital operating model
The new digital operating modelThe new digital operating model
The new digital operating model
 
Vfx PPT
Vfx PPTVfx PPT
Vfx PPT
 
Image processing
Image processingImage processing
Image processing
 

Similar to Prasentation Managed DirectX

XNA and Windows Phone
XNA and Windows PhoneXNA and Windows Phone
XNA and Windows PhoneGlen Gordon
 
Windows phone 7 xna
Windows phone 7 xnaWindows phone 7 xna
Windows phone 7 xnaGlen Gordon
 
Creating Flash Content for Multiple Screens
Creating Flash Content for Multiple ScreensCreating Flash Content for Multiple Screens
Creating Flash Content for Multiple Screenspaultrani
 
Flash for Mobile Devices
Flash for Mobile DevicesFlash for Mobile Devices
Flash for Mobile Devicespaultrani
 
BitSquid Tech: Benefits of a data-driven renderer
BitSquid Tech: Benefits of a data-driven rendererBitSquid Tech: Benefits of a data-driven renderer
BitSquid Tech: Benefits of a data-driven renderertobias_persson
 
Game programming with Groovy
Game programming with GroovyGame programming with Groovy
Game programming with GroovyJames Williams
 
Hardware & software in multimedia
Hardware & software in multimediaHardware & software in multimedia
Hardware & software in multimediaRiosArt
 
Your Game Needs Direct3D 11, So Get Started Now!
Your Game Needs Direct3D 11, So Get Started Now!Your Game Needs Direct3D 11, So Get Started Now!
Your Game Needs Direct3D 11, So Get Started Now!Johan Andersson
 
Game Programming I - Introduction
Game Programming I - IntroductionGame Programming I - Introduction
Game Programming I - IntroductionFrancis Seriña
 
What is direct X ?
What is direct X ?What is direct X ?
What is direct X ?Mukul Kumar
 
Casual Engines 2009
Casual Engines 2009Casual Engines 2009
Casual Engines 2009David Fox
 
Gamebryo LightSpeed(English)
Gamebryo LightSpeed(English)Gamebryo LightSpeed(English)
Gamebryo LightSpeed(English)Gamebryo
 
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Johan Andersson
 
Adam Crittenden Sound Glossary Original
Adam Crittenden Sound Glossary OriginalAdam Crittenden Sound Glossary Original
Adam Crittenden Sound Glossary OriginalAdam Crittenden
 
What is direct X ?
What is direct X ?What is direct X ?
What is direct X ?Mukul Kumar
 
The nitty gritty of game development
The nitty gritty of game developmentThe nitty gritty of game development
The nitty gritty of game developmentbasisspace
 
Amd future of gp us - campus party
Amd   future of gp us - campus partyAmd   future of gp us - campus party
Amd future of gp us - campus partyCampus Party Brasil
 
Ig2 task 1 work sheet
Ig2 task 1 work sheetIg2 task 1 work sheet
Ig2 task 1 work sheetNeilRogero
 

Similar to Prasentation Managed DirectX (20)

XNA and Windows Phone
XNA and Windows PhoneXNA and Windows Phone
XNA and Windows Phone
 
Windows phone 7 xna
Windows phone 7 xnaWindows phone 7 xna
Windows phone 7 xna
 
Creating Flash Content for Multiple Screens
Creating Flash Content for Multiple ScreensCreating Flash Content for Multiple Screens
Creating Flash Content for Multiple Screens
 
Flash for Mobile Devices
Flash for Mobile DevicesFlash for Mobile Devices
Flash for Mobile Devices
 
BitSquid Tech: Benefits of a data-driven renderer
BitSquid Tech: Benefits of a data-driven rendererBitSquid Tech: Benefits of a data-driven renderer
BitSquid Tech: Benefits of a data-driven renderer
 
Game programming with Groovy
Game programming with GroovyGame programming with Groovy
Game programming with Groovy
 
Adobe MAX Recap
Adobe MAX RecapAdobe MAX Recap
Adobe MAX Recap
 
Hardware & software in multimedia
Hardware & software in multimediaHardware & software in multimedia
Hardware & software in multimedia
 
Your Game Needs Direct3D 11, So Get Started Now!
Your Game Needs Direct3D 11, So Get Started Now!Your Game Needs Direct3D 11, So Get Started Now!
Your Game Needs Direct3D 11, So Get Started Now!
 
Game Programming I - Introduction
Game Programming I - IntroductionGame Programming I - Introduction
Game Programming I - Introduction
 
What is direct X ?
What is direct X ?What is direct X ?
What is direct X ?
 
Casual Engines 2009
Casual Engines 2009Casual Engines 2009
Casual Engines 2009
 
Cse191 01
Cse191 01Cse191 01
Cse191 01
 
Gamebryo LightSpeed(English)
Gamebryo LightSpeed(English)Gamebryo LightSpeed(English)
Gamebryo LightSpeed(English)
 
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
 
Adam Crittenden Sound Glossary Original
Adam Crittenden Sound Glossary OriginalAdam Crittenden Sound Glossary Original
Adam Crittenden Sound Glossary Original
 
What is direct X ?
What is direct X ?What is direct X ?
What is direct X ?
 
The nitty gritty of game development
The nitty gritty of game developmentThe nitty gritty of game development
The nitty gritty of game development
 
Amd future of gp us - campus party
Amd   future of gp us - campus partyAmd   future of gp us - campus party
Amd future of gp us - campus party
 
Ig2 task 1 work sheet
Ig2 task 1 work sheetIg2 task 1 work sheet
Ig2 task 1 work sheet
 

More from A. LE

Master Thesis - Algorithm for pattern recognition
Master Thesis - Algorithm for pattern recognitionMaster Thesis - Algorithm for pattern recognition
Master Thesis - Algorithm for pattern recognitionA. LE
 
Publication - The feasibility of gaze tracking for “mind reading” during search
Publication - The feasibility of gaze tracking for “mind reading” during searchPublication - The feasibility of gaze tracking for “mind reading” during search
Publication - The feasibility of gaze tracking for “mind reading” during searchA. LE
 
Schulug Grundlagen SAP BI / BW
Schulug Grundlagen SAP BI / BWSchulug Grundlagen SAP BI / BW
Schulug Grundlagen SAP BI / BWA. LE
 
Ergebnisse Simulation eines Verkehrsnetzes mit GPSS/H
Ergebnisse Simulation eines Verkehrsnetzes mit GPSS/HErgebnisse Simulation eines Verkehrsnetzes mit GPSS/H
Ergebnisse Simulation eines Verkehrsnetzes mit GPSS/HA. LE
 
Simulation eines Verkehrsnetzes mit GPSS/H
Simulation eines Verkehrsnetzes mit GPSS/HSimulation eines Verkehrsnetzes mit GPSS/H
Simulation eines Verkehrsnetzes mit GPSS/HA. LE
 
Elektronische Kataloge als herzstück von E-Business Systemen
Elektronische Kataloge als herzstück von E-Business SystemenElektronische Kataloge als herzstück von E-Business Systemen
Elektronische Kataloge als herzstück von E-Business SystemenA. LE
 
Übersicht Skriptsprachen
Übersicht SkriptsprachenÜbersicht Skriptsprachen
Übersicht SkriptsprachenA. LE
 
Introduction into Search Engines and Information Retrieval
Introduction into Search Engines and Information RetrievalIntroduction into Search Engines and Information Retrieval
Introduction into Search Engines and Information RetrievalA. LE
 

More from A. LE (8)

Master Thesis - Algorithm for pattern recognition
Master Thesis - Algorithm for pattern recognitionMaster Thesis - Algorithm for pattern recognition
Master Thesis - Algorithm for pattern recognition
 
Publication - The feasibility of gaze tracking for “mind reading” during search
Publication - The feasibility of gaze tracking for “mind reading” during searchPublication - The feasibility of gaze tracking for “mind reading” during search
Publication - The feasibility of gaze tracking for “mind reading” during search
 
Schulug Grundlagen SAP BI / BW
Schulug Grundlagen SAP BI / BWSchulug Grundlagen SAP BI / BW
Schulug Grundlagen SAP BI / BW
 
Ergebnisse Simulation eines Verkehrsnetzes mit GPSS/H
Ergebnisse Simulation eines Verkehrsnetzes mit GPSS/HErgebnisse Simulation eines Verkehrsnetzes mit GPSS/H
Ergebnisse Simulation eines Verkehrsnetzes mit GPSS/H
 
Simulation eines Verkehrsnetzes mit GPSS/H
Simulation eines Verkehrsnetzes mit GPSS/HSimulation eines Verkehrsnetzes mit GPSS/H
Simulation eines Verkehrsnetzes mit GPSS/H
 
Elektronische Kataloge als herzstück von E-Business Systemen
Elektronische Kataloge als herzstück von E-Business SystemenElektronische Kataloge als herzstück von E-Business Systemen
Elektronische Kataloge als herzstück von E-Business Systemen
 
Übersicht Skriptsprachen
Übersicht SkriptsprachenÜbersicht Skriptsprachen
Übersicht Skriptsprachen
 
Introduction into Search Engines and Information Retrieval
Introduction into Search Engines and Information RetrievalIntroduction into Search Engines and Information Retrieval
Introduction into Search Engines and Information Retrieval
 

Recently uploaded

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 

Recently uploaded (20)

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 

Prasentation Managed DirectX

  • 1. .NET and Multimedia Sound, Video and Graphics with C#
  • 2. .NET and Multimedia?  No(!) build-in classes for audio/video playback or capture  Build-In Classes for Drawing: System.Drawing  But no complex graphics (e.g. 3D)
  • 3. System.Drawing  Access to GDI+ basic graphics functionality  Advanced functionality with System.Drawing.Drawing2D, System.Drawing.Imaging, and System.Drawing.Text.  Graphics class provides methods for drawing to the display device.  Classes such as Rectangle and Point encapsulate GDI+ primitives.  Pen class is used to draw lines and curves, while classes derrived from the abstract class Brush are used to fill the interiors of shapes.
  • 4. Managed DirectX  A (Low-Level) API for .NET is needed  Solution: Managed DirectX  Actual Version: Managed DirectX 9.0  Provides nearly same functionality like DirectX 9.0  Designed by Microsoft
  • 5. Managed DirectX Overview  Set of low-level application programming interfaces (APIs)  for creating high-performance multimedia applications.  Consists of  Direct3D Graphics  DirectDraw (Deprecated)  DirectInput  DirectPlay (Deprecated)  DirectSound  Audio Video Playback
  • 6. Requirements & Advantages Requirements  Official: minimum required OS  Runtime: Windows 98.  SDK: Windows 2000.  Inofficial: No .NET for 98.  At least Windows 2000  but to have fun Win XP Benefits of Managed Code versus unmanaged  eliminating COM interoperability layer, DirectX improves performance  Managed code reduce volume of code, increase productivity.  Interface is more intuitive, inheriting from.NET Framework  Managed code handles memory management
  • 7. DirectDraw (Deprecated)  low-level API for 2D-Graphics  Decaprecated since DirectX 8.0  All the functionality for 2D is now in the DirectXGraphics Library  DirectDraw API is to directly manipulate display memory, the hardware blitter, hardware overlay support, and flipping surface support, doing all 2D-stuff
  • 8. DirectX(3D) Graphics  API to manipulate visual models of 3-dimensional objects  Take advantage of hardware acceleration like video graphics cards.  DirectX Graphics: Support of 2D- and 3D-Graphics  low-level API (Direct3D) and high-level API (Direct3DX)  Low-level API for complex graphics (e.g. 3D-Games), high-level for fast (or faster) development  Direct3DX is based on Direct3D
  • 9. DirectX(3D) Graphics II  DirectX Graphics directly uses the hardware beside the Graphics Device Interface (GDI) and Display Device Interface (DDI).  Not hardware supported functions will be software emulated by DirectX with HEL.  HEL: Hardware Emulation Layer, using GDI  Support of Flipping, Blitting, Clipping, 3D Z- Puffer, Overlays, direct Control of video data stream from the hardware (Video-Port Manager).
  • 10. DirectInput  process data from a  keyboard  Mouse  Joystick  game controller
  • 11. DirectPlay (Deprecated)  tools to develop multiplayer applications (e.g. games)  Provides layer that isolates application from underlying network.  DirectPlay handles details of network communication.  DirectPlay provides features to simplify process of implementing many aspects of a multiplayer application  Negative: has a giant Overhead and is platform- dependend  Not often used by Gaming Industry
  • 12. DirectSound  play wav sounds through various playback devices  using special effects:  Echo, Chorus, Compressor, Distortion, Flanger, Gargle, interactive3DLevel2Reverb, ParamEqualizer, WavesReverb  Advanced 3D positioning effects
  • 13. Structur Static Input Buffer (File…) + Effects = Output Buffer Dynamic Input Buffer (Mic-Streaming…) 1..n Secondary Sound Buffers Filters 1 Primary Sound Buffer (Hardware/Software)
  • 14. Example - Basic // create DirectSound Device private Device dSound; // set it up dSound = new Device(); dSound.SetCooperartiveLevel(handle,CooperativeLevel.Priority); // create buffer and descriptor private SecondaryBuffer sound; private BufferDescription d = new BufferDescription(); // Set descriptor’s flags d.ControlPan = true; d.ControlVolume = true; d.ControlFrequency = true; d.ControlEffects = true; // create the sound sound = new SecondaryBuffer(filePath, d, dSound); // dSound = Device
  • 15. Example - Operations  Operations for the SecondaryBuffer: sound.Play(); // play sound sound.Stop(); // pause sound sound.SetCurrentPosition(pos); //stop sound sound.PlayPosition; // returns current playback position sound.Volume; // volume sound.Pan; // balance sound.Frequency; // sampling frequency sound.Status.*; // informations (playing, looping…) sound.Format.*;// informations (channels, SamplesPerSecond…)
  • 16. Example - Speakers  Set the correct type of speakers // Create new Speakers Speakers s = new Speakers(); // Set properties s.Mono = false; // Sets as a mono speaker s.Headphone = false; // Sets as headphones s.Stereo = false; // Sets as generic stereo speakers s.Quad = false; // Sets as quad system (two front, two rear) s.FiveDotOne = false; // Sets as a 5.1 surround system s.SevenDotOne = true; // Sets as a 7.1 surround system s.Surround = false; // Sets as a generic surround system dSound.SpeakerConfig = s;
  • 17. Example - Effects  Applying effects to audio playback // Create EffectDescription EffectDescription[] fx = new EffectDescription[1]; // Set Parametric Equalizer effect fx[0].GuidEffectClass = DSoundHelper.StandardParamEqGuid; sound.SetEffects(fx); ParamEqEffect eqEffect = (ParamEqEffect)sound.GetEffects(0); EffectsParamEq eqParams = eqEffect.AllParameters; // Specific properties eqParams.Bandwidth = 36; // Apply a gain on the highest frequency eqParams.Gain = ParamEqEffect.GainMax; eqEffect.AllParameters = eqParams; // overwrite sound to reset the effect sound = new SecondaryBuffer(filePath, d, dSound);
  • 18. Direct3DSound (1)  Advanced 3D positioning effects // create DirectSound Device private Device dSound; private SecondaryBuffer sound; private Buffer3D sound3D; // manages 3D virtualization of sound private Listener3D listener; // point of listener // set it up private SecondaryBuffer sound; private BufferDescription d = new BufferDescription(); // Set descriptor’s flags d.ControlVolume = true; … d.Control3D = true; // Important to enable 3D audio! d.Guid3DAlgorithm = DSoundHelper.Guid3DAlgorithmHrtfFull; // quality // create the sound sound = new SecondaryBuffer(filePath, d, dSound);
  • 19. Direct3DSound (2) // create the 3D buffer sound3D = new Buffer3D(sound); sound3D.Mode = Mode3D.HeadRelative; // considers distance // set up the listener Buffer b; BufferDescription dp = new BufferDescription(); dp.PrimaryBuffer = true; dp.Control3D = true; b = new Buffer(dp, dSound); // Create the Listener3D listener = new Listener3D(b);
  • 20. Direct3DSound (3) // Setup initial position and options for listener and sound3D listener.Position = new Vector3(0, 0, 0); // 3d coordinates sound3D.Position = new Vector3(0, 0, 0); // Make the listener ‘looking forward’ Listener3DOrientation o = new Listener3DOrientation(); o.Front = new Vector3(0, 0, 1); o.Top = new Vector3(0, 1, 0); listener.Orientation = o; // Play the sound sound.Play(0, BufferPlayFlags.Looping);
  • 21. Conclusion  DirectSound is very fast  if the audio card doesn’t support 3D sounds, DirectSound will emulate them via software  could slow down the system  plays only wave-files  good choice for playback of short sounds  for long sounds or other formats (mp3) better use AudioVideoPlayback
  • 22. AudioVideoPlayback (DirectShow)  basic playback and simple control of audio and video files.  Video class to play video files, including those that contain audio.  Audio class to play audio-only files.  You can also use the Audio class to control the audio properties when you play a video file.  Note: The Audio class is primarily designed for very simple playback scenarios, or for use with the Video class. You can also use Microsoft DirectSound to play audio files, which gives you much greater control over the audio playback.
  • 23. Playing a Video File  reference to include  open videofile  control playback
  • 24. converting Video  no Support in managed code  only way to do use unmaneged code  walk through converted c++ code
  • 25. Playing an Audio File  audio object similar to video object  synchronize audio & video  many formats supported
  • 26. OpenGL (Dis-)Advantages  Advantages  Platform independent  Extensible by user  Open-source reference implementation  Client-Server-Model  Mostly better driver for profesional graphic hardware  Disadvantages  New standard takes a long (long) time….  Extension-chaos  Badly support of cheap and standard graphic hardware
  • 27. Direct3D (Dis-)Advantages  Advantages  Short time until a new standard is „produced“  Standard mostly more advanced than hardware  Programming language independent (COM or .NET)  DirectX also available (Sound, Audio…)  Software emulation for not hardware supported functions  More and better drivers for cheap (no-professional) graphic cards  Disadvantages  Platform dependent (Windows)  Closed-source (Greetings from Microsoft)  Often many changes between different versions
  • 28. Outlook  Windows Graphics Foundation (WGF)  should be the next subsequent API of DirectX 9 for Windows Vista  Following newest, unconfirmed news will WGF be named to DirectX 10  But regardless of name, there will be a complete new architecture, not compatible with DirectX 9  This would mean that all existing games would run only in a slower emulation modus
  • 29. The end Thank you very much for you attention!