SlideShare a Scribd company logo
of DirectX…
       --
            Prabodh Panda
Agenda
•   Warm Up
     –   Graphics Card
     –   Computer Graphics
     –   Image Types
     –   GDI / GDI+
     –   OpenGL (Open Graphics Library )

•   Introduction to DirectX
     – History
     – Architecture
     – Library

•   DirectX vs OpenGL

•   Demo

•   Hello world Program

•   Questions & Discussions
Warm Up …
Graphics Card
•   Part of the computer that controls and enhances graphics(Picture, Video, 3D
    animation) that are displayed in the computer screen.
•   Types of Graphics card :
     – AGP
     – PCI
     – On Board
Computer Graphics
•   Representation and manipulation of Image data by a computer.
     – The development of CG has made it easy for us to interact with the computer.
     – CG has brought about a revolution in the fields of :
              Animation
              Movies(Spl. Effects)
             Video Games
             Scientific Research
             Industrial automation
             Flight Simulation
Image Types
•   2D Computer Image
     – Raster Image
     – Vector Image

•   3D Computer Image
Raster Graphics
•   It is a data structure representing a rectangular grid of pixels or points of colors.
Vector Graphics
•   It uses geometrical primitives like points, lines, curves & Polygons) based on
    mathematical equation to represent Images.
Raster vs. Vector
3D Computer Graphics
•   The use the 3 dimensions (X,Y & Z) axis for the representation of image data.
Computer Generated Imagery
                 (CGI)
•   Popularly known as Computer Animation.
•   It is the field of Creating 3D images move.
•   Movie Industry
     – Animation Movies
     – Generating Spl. Effects
GDI / GDI+
•   Enables window based Application to use graphics and formatted text on both
    video display and printer.
•   Drawing fonts ,Lines , Curves and handling palettes.
                        Window Application

                            GDI / GDI+        x
                       Window Graphics Driver


•   GDI cannot access complex graphics and needs OpenGL or DirectX for
    graphics rendering.
GDI / GDI+ Objects in MFC
OpenGL
•   Open Graphics Library (OpenGL) is a cross platform API for 2D/3D computer
    graphics.
•   OpenGL was developed by Silicon Graphics Inc. (SGI) in the year 1992.
•   Cross platform (Windows, Linux and Mac OS)
•   Used in
     –   CAD
     –   Virtual Reality
     –   Flight simulation
     –   Scientific
     –   Video Games



                                       vs.
DirectX
•   Low level API’s Provided by Microsoft for
     –   Creating Games
     –   Multimedia Application
     –   2D and 3D Support
     –   Network Application (e.g. Multiplayer games)

•   Works only with windows Platform(95/98/ME/2000/xp/vista/Win 7)
     –   Released Version 1.0 to latest Version 11.0
     –   Win Xp Supports DirectX 9.0
     –   Vista Supports DirectX 10.0
     –   Win 7 Supports DirectX 11.0
History
•   Craig Eisler, Alex St. John, and Eric Engstrom creators of DirectX.
•   Direct Access : DirectX (Video Cards, M, Sound Device and other Hardware).
•   DirectX1.0 -- Sep 1995 as Windows Games SDK.
•   DirectX 11.0 is the latest SDK.
Architecture
HAL / HEL
DirectX uses two drivers to send request to graphics hardware devices
• Hardware Abstraction Layer (HAL) : Uses hardware function capability.
• Hardware Emulation Layer (HEL) : Use to emulate capability through software.

Device Driver Interface (DDI)
• It is layer to allow high level computer programs to interact with hardware devices
Library
DirectX is SDK composed of collection of COM libraries
•   Direct3D
     – API to provide 2D and 3D graphics.
     – Setting resolution to the screens.

•   DirectInput
     – All user input is handles through API.
     – It supports devices such as keyboard, mouse, gamepad and joysticks.

•   DirectPlay
     – Network Support like multiplayer API.
Library (cont…)
•   DirectSound
     – API for Sound Effect.
     – Include Support for more than One or more sound files.


•   DirectMusic
     – Allow to make dynamic soundtrack.


•   DirectShow
     –   Accessing Cut Scenes.
     –   Streaming Audio (mp3, AVI, MPEG..).

•   DirectSetup
     – Create a Setup wizard for your game.
DirectX         vs.   OpenGL

 Controlled by Microsoft.               Controlled by ARB OpenGL

 Gaming and Multimedia                  General Purposes 2D and 3D
  Programming                             graphics.

 Support Windows OS.                    Platform Independent (Window,
                                          Linux, Unix and Mac )
 Difficult to Learn
  (Less Documentation provided)          Easy to learn.

 API : COM                              API : Includes and Library
 Vertex Blending : Yes                  Vertex Blending : NA
 Two-sided lighting: No                 Two-sided lighting: Yes
DirectX SDK
•   MSDN website
Visual Studio Setup
My First DirectX Program.. 
Demo
Books & References
Questions & Discussions
Thank You all…

More Related Content

Viewers also liked

Computer Graphics
Computer GraphicsComputer Graphics
Computer Graphics
Mubashar Mehmood
 
Angel6 e05
Angel6 e05Angel6 e05
Angel6 e05
Mohammed Romi
 
Profile Công Ty TNHH Dịch Vụ Giải Trí Âm Nhạc Bùi Dũng
Profile Công Ty TNHH Dịch Vụ Giải Trí Âm Nhạc Bùi DũngProfile Công Ty TNHH Dịch Vụ Giải Trí Âm Nhạc Bùi Dũng
Profile Công Ty TNHH Dịch Vụ Giải Trí Âm Nhạc Bùi Dũng
Cung cấp cho thuê ban nhạc ca sĩ
 
Open gl
Open glOpen gl
Open gl
ch samaram
 
History of computers 4 z raahim khan
History of computers 4 z  raahim khanHistory of computers 4 z  raahim khan
History of computers 4 z raahim khan
raahim000
 
History of computers
History of computersHistory of computers
History of computers
Mukul Kumar
 
Linebaugh Intro to PowerPoint
Linebaugh Intro to PowerPointLinebaugh Intro to PowerPoint
Linebaugh Intro to PowerPoint
k8ierobinson
 
Computer graphics presentation
Computer graphics presentationComputer graphics presentation
Computer graphics presentation
LOKENDRA PRAJAPATI
 
OpenGL Introduction
OpenGL IntroductionOpenGL Introduction
OpenGL Introduction
Jayant Mukherjee
 
Overview of the graphics system
Overview of the graphics systemOverview of the graphics system
Overview of the graphics system
Kamal Acharya
 
Overview of Graphics System
Overview of Graphics SystemOverview of Graphics System
Overview of Graphics System
PrathimaBaliga
 
OpenGL Basics
OpenGL BasicsOpenGL Basics
OpenGL Basics
Sandip Jadhav
 
The history of computers
The history of computersThe history of computers
The history of computers
QualityyGFX
 

Viewers also liked (13)

Computer Graphics
Computer GraphicsComputer Graphics
Computer Graphics
 
Angel6 e05
Angel6 e05Angel6 e05
Angel6 e05
 
Profile Công Ty TNHH Dịch Vụ Giải Trí Âm Nhạc Bùi Dũng
Profile Công Ty TNHH Dịch Vụ Giải Trí Âm Nhạc Bùi DũngProfile Công Ty TNHH Dịch Vụ Giải Trí Âm Nhạc Bùi Dũng
Profile Công Ty TNHH Dịch Vụ Giải Trí Âm Nhạc Bùi Dũng
 
Open gl
Open glOpen gl
Open gl
 
History of computers 4 z raahim khan
History of computers 4 z  raahim khanHistory of computers 4 z  raahim khan
History of computers 4 z raahim khan
 
History of computers
History of computersHistory of computers
History of computers
 
Linebaugh Intro to PowerPoint
Linebaugh Intro to PowerPointLinebaugh Intro to PowerPoint
Linebaugh Intro to PowerPoint
 
Computer graphics presentation
Computer graphics presentationComputer graphics presentation
Computer graphics presentation
 
OpenGL Introduction
OpenGL IntroductionOpenGL Introduction
OpenGL Introduction
 
Overview of the graphics system
Overview of the graphics systemOverview of the graphics system
Overview of the graphics system
 
Overview of Graphics System
Overview of Graphics SystemOverview of Graphics System
Overview of Graphics System
 
OpenGL Basics
OpenGL BasicsOpenGL Basics
OpenGL Basics
 
The history of computers
The history of computersThe history of computers
The history of computers
 

Similar to Abc of DirectX

PRESENTATION ON Game Engine
PRESENTATION ON Game EnginePRESENTATION ON Game Engine
PRESENTATION ON Game Engine
Diksha Bhargava
 
Pixel-Lab / Games:EDU / Michel Kripalani / Games Industry Overview and Trends
Pixel-Lab / Games:EDU / Michel Kripalani / Games Industry Overview and TrendsPixel-Lab / Games:EDU / Michel Kripalani / Games Industry Overview and Trends
Pixel-Lab / Games:EDU / Michel Kripalani / Games Industry Overview and Trends
pixellab
 
The next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game EnginesThe next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game Engines
Pooya Eimandar
 
Road to Success (July 1st) - Mobile Game Development Alternatives - Andrew Bu...
Road to Success (July 1st) - Mobile Game Development Alternatives - Andrew Bu...Road to Success (July 1st) - Mobile Game Development Alternatives - Andrew Bu...
Road to Success (July 1st) - Mobile Game Development Alternatives - Andrew Bu...
SanaChoudary
 
Remote Graphical Rendering
Remote Graphical RenderingRemote Graphical Rendering
Remote Graphical Rendering
Joel Isaacson
 
COMPUTER GRAPHICS AND MULTI MEDIA SOFTWARE LIST
COMPUTER GRAPHICS AND MULTI MEDIA SOFTWARE LISTCOMPUTER GRAPHICS AND MULTI MEDIA SOFTWARE LIST
COMPUTER GRAPHICS AND MULTI MEDIA SOFTWARE LIST
tarun kumar sharma
 
3 d computer graphics software
3 d computer graphics software3 d computer graphics software
3 d computer graphics software
Afnan Asem
 
1-Introduction (Game Design and Development)
1-Introduction (Game Design and Development)1-Introduction (Game Design and Development)
1-Introduction (Game Design and Development)
Hafiz Ammar Siddiqui
 
Lecture 1 Introduction to VR Programming
Lecture 1 Introduction to VR ProgrammingLecture 1 Introduction to VR Programming
Lecture 1 Introduction to VR Programming
Kobkrit Viriyayudhakorn
 
Design your 3d game engine
Design your 3d game engineDesign your 3d game engine
Design your 3d game engine
Daosheng Mu
 
Processing for Android: Getting Started
Processing for Android: Getting StartedProcessing for Android: Getting Started
Processing for Android: Getting Started
PETER KIRN
 
Multimedia software tools
Multimedia software toolsMultimedia software tools
Multimedia software tools
SasikalaNatarajan
 
Game software development trends presentation
Game software development trends   presentationGame software development trends   presentation
Game software development trends presentation
_veronika_
 
Low Level Graphics & OpenGL
Low Level Graphics & OpenGLLow Level Graphics & OpenGL
Low Level Graphics & OpenGL
Dominic Farolino
 
Casual Engines 2009
Casual Engines 2009Casual Engines 2009
Casual Engines 2009
David Fox
 
Slideshare
SlideshareSlideshare
Slideshare
Abu Sayem Sumon
 
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
DevClub_lv
 
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3DJS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JSFestUA
 
(2) gui drawing
(2) gui drawing(2) gui drawing
(2) gui drawing
Nico Ludwig
 
Delta Engine @ CeBit 2011
Delta Engine @ CeBit 2011Delta Engine @ CeBit 2011
Delta Engine @ CeBit 2011
Karsten Wysk
 

Similar to Abc of DirectX (20)

PRESENTATION ON Game Engine
PRESENTATION ON Game EnginePRESENTATION ON Game Engine
PRESENTATION ON Game Engine
 
Pixel-Lab / Games:EDU / Michel Kripalani / Games Industry Overview and Trends
Pixel-Lab / Games:EDU / Michel Kripalani / Games Industry Overview and TrendsPixel-Lab / Games:EDU / Michel Kripalani / Games Industry Overview and Trends
Pixel-Lab / Games:EDU / Michel Kripalani / Games Industry Overview and Trends
 
The next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game EnginesThe next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game Engines
 
Road to Success (July 1st) - Mobile Game Development Alternatives - Andrew Bu...
Road to Success (July 1st) - Mobile Game Development Alternatives - Andrew Bu...Road to Success (July 1st) - Mobile Game Development Alternatives - Andrew Bu...
Road to Success (July 1st) - Mobile Game Development Alternatives - Andrew Bu...
 
Remote Graphical Rendering
Remote Graphical RenderingRemote Graphical Rendering
Remote Graphical Rendering
 
COMPUTER GRAPHICS AND MULTI MEDIA SOFTWARE LIST
COMPUTER GRAPHICS AND MULTI MEDIA SOFTWARE LISTCOMPUTER GRAPHICS AND MULTI MEDIA SOFTWARE LIST
COMPUTER GRAPHICS AND MULTI MEDIA SOFTWARE LIST
 
3 d computer graphics software
3 d computer graphics software3 d computer graphics software
3 d computer graphics software
 
1-Introduction (Game Design and Development)
1-Introduction (Game Design and Development)1-Introduction (Game Design and Development)
1-Introduction (Game Design and Development)
 
Lecture 1 Introduction to VR Programming
Lecture 1 Introduction to VR ProgrammingLecture 1 Introduction to VR Programming
Lecture 1 Introduction to VR Programming
 
Design your 3d game engine
Design your 3d game engineDesign your 3d game engine
Design your 3d game engine
 
Processing for Android: Getting Started
Processing for Android: Getting StartedProcessing for Android: Getting Started
Processing for Android: Getting Started
 
Multimedia software tools
Multimedia software toolsMultimedia software tools
Multimedia software tools
 
Game software development trends presentation
Game software development trends   presentationGame software development trends   presentation
Game software development trends presentation
 
Low Level Graphics & OpenGL
Low Level Graphics & OpenGLLow Level Graphics & OpenGL
Low Level Graphics & OpenGL
 
Casual Engines 2009
Casual Engines 2009Casual Engines 2009
Casual Engines 2009
 
Slideshare
SlideshareSlideshare
Slideshare
 
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
 
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3DJS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
 
(2) gui drawing
(2) gui drawing(2) gui drawing
(2) gui drawing
 
Delta Engine @ CeBit 2011
Delta Engine @ CeBit 2011Delta Engine @ CeBit 2011
Delta Engine @ CeBit 2011
 

Abc of DirectX

  • 1. of DirectX… -- Prabodh Panda
  • 2. Agenda • Warm Up – Graphics Card – Computer Graphics – Image Types – GDI / GDI+ – OpenGL (Open Graphics Library ) • Introduction to DirectX – History – Architecture – Library • DirectX vs OpenGL • Demo • Hello world Program • Questions & Discussions
  • 4. Graphics Card • Part of the computer that controls and enhances graphics(Picture, Video, 3D animation) that are displayed in the computer screen. • Types of Graphics card : – AGP – PCI – On Board
  • 5. Computer Graphics • Representation and manipulation of Image data by a computer. – The development of CG has made it easy for us to interact with the computer. – CG has brought about a revolution in the fields of :  Animation  Movies(Spl. Effects)  Video Games  Scientific Research  Industrial automation  Flight Simulation
  • 6. Image Types • 2D Computer Image – Raster Image – Vector Image • 3D Computer Image
  • 7. Raster Graphics • It is a data structure representing a rectangular grid of pixels or points of colors.
  • 8. Vector Graphics • It uses geometrical primitives like points, lines, curves & Polygons) based on mathematical equation to represent Images.
  • 10. 3D Computer Graphics • The use the 3 dimensions (X,Y & Z) axis for the representation of image data.
  • 11. Computer Generated Imagery (CGI) • Popularly known as Computer Animation. • It is the field of Creating 3D images move. • Movie Industry – Animation Movies – Generating Spl. Effects
  • 12. GDI / GDI+ • Enables window based Application to use graphics and formatted text on both video display and printer. • Drawing fonts ,Lines , Curves and handling palettes. Window Application GDI / GDI+ x Window Graphics Driver • GDI cannot access complex graphics and needs OpenGL or DirectX for graphics rendering.
  • 13. GDI / GDI+ Objects in MFC
  • 14. OpenGL • Open Graphics Library (OpenGL) is a cross platform API for 2D/3D computer graphics. • OpenGL was developed by Silicon Graphics Inc. (SGI) in the year 1992. • Cross platform (Windows, Linux and Mac OS) • Used in – CAD – Virtual Reality – Flight simulation – Scientific – Video Games vs.
  • 15. DirectX • Low level API’s Provided by Microsoft for – Creating Games – Multimedia Application – 2D and 3D Support – Network Application (e.g. Multiplayer games) • Works only with windows Platform(95/98/ME/2000/xp/vista/Win 7) – Released Version 1.0 to latest Version 11.0 – Win Xp Supports DirectX 9.0 – Vista Supports DirectX 10.0 – Win 7 Supports DirectX 11.0
  • 16. History • Craig Eisler, Alex St. John, and Eric Engstrom creators of DirectX. • Direct Access : DirectX (Video Cards, M, Sound Device and other Hardware). • DirectX1.0 -- Sep 1995 as Windows Games SDK. • DirectX 11.0 is the latest SDK.
  • 18. HAL / HEL DirectX uses two drivers to send request to graphics hardware devices • Hardware Abstraction Layer (HAL) : Uses hardware function capability. • Hardware Emulation Layer (HEL) : Use to emulate capability through software. Device Driver Interface (DDI) • It is layer to allow high level computer programs to interact with hardware devices
  • 19. Library DirectX is SDK composed of collection of COM libraries • Direct3D – API to provide 2D and 3D graphics. – Setting resolution to the screens. • DirectInput – All user input is handles through API. – It supports devices such as keyboard, mouse, gamepad and joysticks. • DirectPlay – Network Support like multiplayer API.
  • 20. Library (cont…) • DirectSound – API for Sound Effect. – Include Support for more than One or more sound files. • DirectMusic – Allow to make dynamic soundtrack. • DirectShow – Accessing Cut Scenes. – Streaming Audio (mp3, AVI, MPEG..). • DirectSetup – Create a Setup wizard for your game.
  • 21. DirectX vs. OpenGL  Controlled by Microsoft.  Controlled by ARB OpenGL  Gaming and Multimedia  General Purposes 2D and 3D Programming graphics.  Support Windows OS.  Platform Independent (Window, Linux, Unix and Mac )  Difficult to Learn (Less Documentation provided)  Easy to learn.  API : COM  API : Includes and Library  Vertex Blending : Yes  Vertex Blending : NA  Two-sided lighting: No  Two-sided lighting: Yes
  • 22. DirectX SDK • MSDN website
  • 24. My First DirectX Program.. 
  • 25. Demo