Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Microsoft Direct X

Microsoft Direct X

Avatar for Prasanth  KV

Prasanth KV

March 15, 2012
Tweet

Other Decks in Technology

Transcript

  1. Microsoft DirectX  What is Direct X ?  Its

    Importance .  History of Direct X  Where it is mainly used ?  Components of direct X .  Current Version …  Other similar technologies !  Future ? 2
  2. What is DirectX  Direct x is a set of

    Windows interfaces / API from Microsoft designed to provide software developers with direct access to low-level functions on PC peripherals.  DirectX provides a high-level interface for accessing low-level functions "directly." by using the hardware abstraction layer in Windows . i.e. Direct access .  DirectX provides the interface to access the frame buffer and advanced features of the display adapter, which are not provided in the standard Windows GDI graphics interface.  DirectX is capable of emulating graphics functions in software that are not built into the display adapter 4
  3. Why DirectX  Designed to shift responsibility away from the

    developer and the hardware manufacturer.  Fast, low latency access to hardware  Hardware emulation for certain tasks (if required)  A single set of API calls regardless of system hardware.  Multiplayer support that is indifferent to transport media (TCP/IP, IPX, Null Modem, etc.).  And so much more! 5
  4. History  The first version of DirectX released was shipped

    September of 1995.  Developed by Craig Eisler, Alex St. John, and Eric Engstrom of Microsoft Inc.  In November 8, 2001 DirectX started using with Xbox .  In September 2006 Microsoft Released DirectX 10 6
  5. DirectX Architecture Win32 App Win GDI Win DDI HEL: HW

    Emulation Layer HAL: HW Abstraction Layer 15
  6. HAL and HEL Lowest level of software Consists of manufacturer’s

    device drivers DirectX figures out the COM interface needed Built on top of HAL Allows emulation of missing hardware 16
  7. Direct3D  Direct3D is used to render three dimensional graphics

    in applications where performance is important, such as games.  Direct3D uses hardware acceleration if it is available on the graphic board.  The entire or part of the 3D rendering pipeline can be accelerated in hardware.  Direct3D exposes the advanced graphics capabilities of 3D graphics hardware, including z-buffering, anti-aliasing, alpha blending, mipmapping, atmospheric effects, and perspective-correct texture mapping. 18
  8. Architecture  It is presented like a thin abstract layer

    at a level comparable to GDI. With a COM based architecture.  The main difference is that Direct3D is directly connected to display drivers and gets better results at rendering than GDI. 19
  9.  Direct3D is formed primarily by two APIs.  provides

    a low-level interface to every video card 3D function such as transformations, clipping, lighting, materials, textures, depth buffering and so on..  is built over Immediate mode and provides higher level graphics techniques such as hierarchy and animation. Architecture…… 20
  10.  DirectDraw is used to render graphics in applications where

    top performance is important.  DirectDraw allows direct access to video memory, hardware overlays, hardware blitters, and page flipping.etc  DirectDraw is a 2D API. That is, it contains commands for 2D rendering and does not support 3D hardware acceleration.  As of DirectX version 8.0, DirectDraw and Direct 3D was merged into a new package called DirectX Graphics. DirectDraw 21
  11.  It is also possible to use DirectDraw for 3D

    applications , But its is not advisable for real-time application such as games and simulators because it is slow. DirectDraw 22
  12.  Interfaces from Microsoft for programming sounds.  It also

    provides many needed capabilities such as recording and mixing sound; adding effects to sound e.g. reverb, echo, flange…. Etc  It helps in positioning sounds in 3D space, capturing sounds from a microphone or other input and controlling capture effects during audio capture.  DirectSound also allows several applications to conveniently share access to the sound card at the same time.  This provides the ability for games to modify a musical script in response to game events in real time, DirectSound 23
  13.   introduced with DirectX 3 in 1996.  DirectSound3D

    allows software developers to write to a single standardized audio API instead of writing code for each audio card manufacturer.   Integrated API for Xbox 3 and Microsoft Windows, Announced to release on the end of 2007 or later. DirectSound 24
  14.  It was introduced in DirectX 6.1(Feb 1999).  It

    allows music and sound effects to be composed and played and provides flexible interactive control over the way they are played.  Acts as a layer built on top of Direct Sound.  Rather than a static playback, it can respond to flexible program events. DirectMusic 25
  15. it is possible to:  Load and play sounds from

    files or resources in MIDI, WAV, or DirectMusic Produced run-time format. The file size of DirectMusic sound tracks being relatively small, makes it very well suited for Web applications  Schedule the timing of musical events with high precision.  Play from multiple sources simultaneously, each with separate timing and instrument sets.  Possible to do tempo changes, patch changes, and other MIDI events programmatically.  Locate sounds in a 3D environment.  Capture MIDI data, or stream it from one port to another.……. 26
  16.  DirectInput is a library of objects for collecting input

    from the user, via input devices such the mouse, keyboard, joystick or game controllers.  It provides a system for action mapping, which allows you to assign specific actions within a game to the buttons and axis on your input devices. DirectInput 27
  17. Benefits over normal Win32 input events:  It enables an

    application to retrieve data from input devices even when the application is in the background.  It provides full support for any type of input device, as well as for force feedback.  Through action mapping, applications can retrieve input data without needing to know what kind of device is being used to generate it. 28
  18.  DirectPlay is a network communication library.  It is

    a high-level software interface between applications and communication services that makes it easy to connect games over the Internet, a modem link, or a network.  Basic Interfaces  Client – server  Pear - to - Pear DirectPlay 30
  19.  was a set of multimedia-related APIs for Microsoft Windows

    complementing DirectX.  It included DirectAnimation for 2D web animation, DirectShow for multimedia playback and streaming media.  DirectShow contained DirectX plugins for audio signal processing and DirectX Video Acceleration for accelerated video playback.  Microsoft integrated direct show with Direct media since April 2005 DirectMedia 31
  20. DirectSetup  is an extremely simple library of functions for

    installing DirectX on a machine.  It also provides a way to check the version of DirectX that is present. 32
  21.  Rigorous specification, elimination of capability bits  Render MORE

    objects, materials, clutter, vegetation, shadowswith LESS CPU cycles, stalls, and bandwidth cost  Unified, more capable, shader programming model 4.0  Flexible memory model  New pipeline stages  Empower the GPU to handle a new series of applications. DirectX 10.0 35
  22. Any other Technologies ?  DirectGraphics OpenGL JAVA 3D RDX

    (Realistic Display Mixer)  DirectAudo  OpenAL  DirectMedia  OpenML 37
  23. Direct3D  Very Fast  Direct Acceleration.  Fully Object-oriented

     Better to use in games. • Platform Dependent (PC Windows platform) • Very difficult use (steep learning curve) with large code overhead in comparison to OpenGL. 39
  24. Open GL  Cross platform (Windows, Mac , Linux, Solaris,

    BSD..etc)  New API’s can be created.  Not hardware dependent .  Mainly used in designing softwares. • Slow Execution. • Not Object-oriented 40
  25. Java 3D  Provides a Java 3D API that sits

    on top of OpenGL .  Platform Independent.  Ability to distribute over the web (3D Applets).  Small Code size (similar to OpenGL overhead).  Also-Magician is a front-end to OpenGL.  Java Language:-NO Pointers->No Headaches!!!!!!.  Slow (Java Byte code is interpreted by the Java Virtual Machine, which then talks to Lower Level OpenGL Layer. 41
  26.  It is an incremental update to DirectX 10.0 which

    will be shipped with, and require, Windows Vista Service Pack 1 in January 2008.  It will be backwards compatible with DirectX 10.0 hardware, but the new features are only available to 10.1 compliant .  Features scheduled for DirectX 10.1 include:  Mandatory 32-bit floating point filtering  Mandatory 4x anti-aliasing  Shader model 4.1 43
  27. Additional Resources  DirectX Developer Center http://msdn.microsoft.com/DirectX  Direct3D 10

    Tech Preview  Available in the DirectX SDK  Direct3D 10 reference rasterizer, documentation, tools…  Game Developer Conference 2006 and PDC 2005 Direct3D 10 presentations  Related sessions  Future Directions in Graphics  WDDM v2 and Beyond  OpenGL