Introduction to DirectX Implementation. Installing DirectX SDK To write and execute DirectX 9.0 programs, you need both : DirectX 9.0 runtime and the.

Slides:



Advertisements
Similar presentations
Programming with OpenGL - Getting started - Hanyang University Han Jae-Hyek.
Advertisements

CS0004: Introduction to Programming Introduction to Programming.
CHAPTER 16 Audio © 2008 Cengage Learning EMEA. LEARNING OBJECTIVES In this chapter you will learn about: – –The fundamentals of sound – –DirectX Audio.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
Introduction to DirectX Programming Dongho Kim February 12, 2002 Dongho Kim February 12, 2002.
UFCFX5-15-3Mobile Device Development Android Development Environments and Windows.
Java PAL.  Contains the development kit and the runtime environment ( aka the Java Virtual Machine )  Download Link:
Computer Graphics Introducing DirectX
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
Lesson 4 Computer Software
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
M1G Introduction to Programming 2 4. Enhancing a class:Room.
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
CSC300 Visual Programming Dr. Craig Reinhart. Objectives Teach the basics of C++ –You won’t be an expert but hopefully a very good novice –GUI development.
Architecture of.NET Framework .NET Framework ٭ Microsoft.NET (pronounced “dot net”) is a software component that runs on the Windows operating.
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Computing IV Visual C Introduction with OpenCV Example Xinwen Fu.
An intro to programming. The purpose of writing a program is to solve a problem or take advantage of an opportunity Consists of multiple steps:  Understanding.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Programming Languages Machine.
Ali Shahrokni Application Components Activities Services Content providers Broadcast receivers.
Java Introduction Lecture 1. Java Powerful, object-oriented language Free SDK and many resources at
CHAPTER FOUR COMPUTER SOFTWARE.
Introduction to Interactive Media Interactive Media Tools: Software.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Scalable Game Development William Roberts Senior Game Engineer
Object Oriented Programming Dr. Ennis-Cole CECS 5100.
Chapter 11 An Introduction to Visual Basic 2008 Why Windows and Why Visual Basic How You Develop a Visual Basic Application The Different Versions of Visual.
OpenGl Graphics Programming. Introduction OpenGL is a low-level graphics library specification. It makes available to the programmer a small set of geomteric.
Java Introduction to JNI Prepared by Humaira Siddiqui.
The Graphics Rendering Pipeline 3D SCENE Collection of 3D primitives IMAGE Array of pixels Primitives: Basic geometric structures (points, lines, triangles,
Introduction It is developed to create software applications. It is a tool for developers of any program that uses both basic and expert settings. It.
Java2C# Antonio Cisternino Part V. Outline Assembly & co. Visual Studio environment Example: using DirectX from C#
Android architecture & setting up. Android operating system comprises of different software components arranges in stack. Different components of android.
Chapter 0 Overview. Why you are here? Where will you go? What is this course for?
Chapter 11 An Introduction to Visual Basic 2005 Why Windows and Why Visual Basic How You Develop a Visual Basic Application The Different Versions of Visual.
Sound DirectMusic & DirectSound. DirectShow Video Formats DirectShow is an open architecture, it can support any format as long as there are filters to.
Introduction to the Maya C++ API Brent Haley The Ohio State University
GAM666 – Introduction To Game Programming ● DirectX is implemented as a collection of COM objects ● To use a DirectX program, the user must have the correct.
Core Java Introduction Byju Veedu Ness Technologies httpdownload.oracle.com/javase/tutorial/getStarted/intro/definition.html.
A.Abhari CPS1251 Topic 1: Introduction to Computers Computer Hardware Computer components Connecting Computers Computer Software Operating System (OS)
Customer and Partner Connections Design and Develop Assess and Certify.
GAM666 – Introduction To Game Programming ● Programmer's perspective of Game Industry ● Introduction to Windows Programming ● 2D animation using DirectX.
Open project in Microsoft Visual Studio → build program in “Release” mode.
Win32 Programming Lesson 19: Introduction to DLLs.
The Development Process Compilation. Compilation - Dr. Craig A. Struble 2 Programming Process Problem Solving Phase We will spend significant time on.
GPU Computing for GIS James Mower Department of Geography and Planning University at Albany.
Introduction to Programming 1 1 2Introduction to Java.
JAVA CARD Presented by: MAYA RAJ U C A S,PATHANAMTHITTA.
Visual Programming Borland Delphi. Developing Applications Borland Delphi is an object-oriented, visual programming environment to develop 32-bit applications.
What's New in Visual Studio 2010 Debugging Brian Peek Senior Consultant, ASPSOFT, Inc. Microsoft MVP - C#
What is DirectX? DirectX is built by Microsoft as a collection of API’s (Application Programming Interfaces) for the purpose of multimedia processing.
Mobile Device Development
Web Interface for Formatter
Introduction to Visual Basic 2008 Programming
Introduction to .NET Framework Ch2 – Deitel’s Book
CE-105 Spring 2007 Engr. Faisal ur Rehman
CMPE419 Mobile Application Development
CSCI/CMPE 3334 Systems Programming
Module 1: Getting Started
Microsoft DirectShow.
Microsoft Visual Studio
CIS 441/541: Introduction to Computer Graphics Lecture 15: shaders
03 | Creating, Texturing and Moving Objects
CMPE419 Mobile Application Development
Games Development 2 Tools Programming
SPL – PS1 Introduction to C++.
Presentation transcript:

Introduction to DirectX Implementation

Installing DirectX SDK To write and execute DirectX 9.0 programs, you need both : DirectX 9.0 runtime and the DirectX 9.0 SDK (Software Development Kit) Note that the runtime will be installed when you install the SDK. The DirectX SDK can be obtained at The installation is straightforward; however, there is one important point, make sure that you select the debug option.

The debug option installs both the debug and retail builds of the DirectX DLLs onto your computer, whereas the retail option installs just the retail DLLs. For development, you want the debug DLLs, since these DLLs will output Direct3D- related debug information into the Visual Studio output window when the program is run in debug mode, which is obviously very useful when debugging DirectX applications. Installing DirectX SDK

Installing SDK Updates

Setting Up the Development Environment In VC and 7.0 you will also want to specify the directory paths at which the DirectX header files and library files are located, so VC ++ can find these files. The DirectX header files and library files are located at the paths D:\DXSDK\Include and D:\DXSDK\Lib, respectively. Note The location of the DirectX directory DXSDK on your computer may differ; it depends on the location that you specified during installation. Include Search Paths Tools-> Options-> Directories tab.

Preparing for Compilation In order to build the sample programs, you will need to link the library files d3d9.lib, d3dx9.lib, and winmm.lib into your project. Note that winmm.lib isn't a DirectX library file; it is the Windows multimedia library file, and we use for its timer functions Linker Search Paths

Why use C++? Language: Delphi, VB, C#, C++, Java, C Aspects : 1. Unmanaged against managed 2. VB is Interpreter 3. Java – Virtual machine 4. Com supporting (C++ supports COM better than C does )

AppWizard AppWizard creates a small C++ template application that can integrate the common DirectX components:  Direct3D,  DirectInput,  DirectMusic,  DirectSound,  DirectPlay. It provides basic functionality that is easy to build on and demonstrates the use of each component.

AppWizard

Let’s Try it !

The Basic Interface All Direct3D interfaces depends on object Direct3DRM (Retained Mode — Direct3D Retained Mode is a high-level 3-D scene graph manager that simplifies the building and animation of 3- D worlds and data ). LPDIRECT3DRM d3drm; // pointer to Direct3DRM Obj Direct3DRMCreate(&d3drm); // create & init obj The main goal of Direct3DRM is to Create other objects

Direct3D RM & Other Objects Direct3DRMDevice device ; // Represents the visual display destination for the renderer LPDIRECT3DRMWINDEVICE windev; device->QueryInterface(IID_IDirect3DRMWinDevice, (void**)&windev); // then can use HandlePaint() // to get use CreateDeviceFromClipper() CreateDeviceFromSurface() camera — это фрейм, определяющий местоположение и ориентацию порта просмотра

Direct3D RM & Other Objects camera — это фрейм, определяющий местоположение и ориентацию порта просмотра Direct3DRMViewport Defines how the 3-D scene is rendered into a 2-D window. d3drm->CreateViewport(device, camera, 0, 0, device->GetWidth(), device->GetHeight(), &viewport );

Direct3D RM & Other Objects camera — это фрейм, определяющий местоположение и ориентацию порта просмотра Direct3DRMFrame object used by the viewport to define the viewing position and direction LPDIRECT3DRMFRAME newframe; d3drm->CreateFrame(parentframe, &newframe);

Direct3D RM & Other Objects camera — это фрейм, определяющий местоположение и ориентацию порта просмотра Direct3DRMMeshBuilder Defines how the 3-D scene is rendered into a 2-D window. LPDIRECT3DRMMESHBUILDER meshbuilder; d3drm->CreateMeshBuilder(&meshbuilder);

Device-Supported Primitive Types Microsoft Direct3D devices can create and manipulate the following types of primitives:

A point list is a collection of vertices that are rendered as isolated points A line list is a list of isolated, straight line segments. The number of vertices in a line list must be an even number greater than or equal to two. Device-Supported Primitive Types

A line strip is a primitive that is composed of connected line segments A triangle list is a list of isolated triangles. A triangle list must have at least three vertices. Device-Supported Primitive Types

A triangle fan is similar to a triangle strip, except that all the triangles share one vertex A triangle strip is a series of connected triangles Device-Supported Primitive Types

DirectX Dependences Tree

Objects Creation Flow

DirectX by MFC

X Files X files provide a template-driven format that enables the storage of meshes, textures, animations, and user-definable objects. Support for animation sets enables you to store predefined paths for playback in real time. X files should be created by CONV3DS utility, or by Direct3D API (Direct3DRMMeshbuilder ) interface.

Thank You !