第9章DirectX编程
- 格式:ppt
- 大小:937.50 KB
- 文档页数:25


实验一实验题目:Directx的初始化实验目的:了解Win32程序基本框架及最简单的Directx 3D的程序框架。
实验步骤:(1)解压BookPart2Code.zip文件,打开Chapter1中的D3D9 Init目录下的d3dInit.cpp文件。
(2)从VC2008中为d3dInit.cpp新建一个项目,进行正确配置,解决编译和连接中的错误,并运行看结果。
(3)修改程序,使之运行在全屏幕方式,即无窗口模式。
(4)修改程序,使程序再回到窗口模式,并使得窗口的标题栏出现最小化(Minimize)、复原(Restore)和关闭(Close)图标,并使标题栏显示的字符串为你的姓名。
(5)修改程序,使得程序工作在软件模拟方式。
(6)修改程序改变窗口的分辨率和颜色格式。
(7)给窗口增加一个菜单(File下有一个Exit),并使之响应菜单上的Exit退出消息。
参考上课时讲的Dx9Ex1。
(8)修改程序,利用Clear()使之出现蓝色背景。
参考上课时讲的Directx SDX的第一个例子CreateDevice。
(9)修改程序,利用IDirect3DSurface9创建一个表面,并使它显示红色。
参考教案的46页,注意Back Buffer就是一个IDirect3DSurface9,要锁定Back Buffer,需要修改D3DPRESENT_PARAMETERS的Flags标志,参考MSDN。
实验二实验题目:坐标系、顶点、索引与网格实验目的:了解三维建模的三种方式:顶点、索引与网格;掌握三维到二维图形的的3个步骤:建模坐标系到世界坐标系的变换,照相机的位置、朝向和向上正方向的设置,三维世界投影到照相机的二维成像平面。
实验步骤:(1)打开Chapter3中的Triangle目录下的triangle.cpp文件,并为它建立一个工程文件。
修改源程序,增加建模坐标系到世界坐标系的变换,任意设置(x,y,z),运行观察结果;增加照相机的世界坐标系变换,改变其中的z坐标,运行观察结果。
C#中使用DirectX编程(1 )什么是DirectX?什么是DirectX ?回到目录微软的DirectX软件开发工具包(SDK)提供了一套优秀的应用程序编程接口(APIs),这个编程接口可以提供给你开发高质量、实时的应用程序所需要的各种资源。
DirectX技术的出现将极大的有助于发展下一代多媒体应用程序和电脑游戏。
总的说来,使用Di rectX的主要有两个好处:1、为软件开发者提供硬件无关性;2、为硬件开发提供策略。
1、为软件开发者提供硬件无关性微软开发DirectX,其最主要的目的之一是促进在Windows操作系统上的游戏和多媒体应用程序的发展。
在DirectX出现以前,主要的游戏开发平台是MS-DOS,游戏开发者们为了使他们的程序能够适应各种各样的硬件设备而绞尽脑汁。
自从有了DirectX,游戏开发者们便可以获益于Windows平台的设备无关性,而又不失去直接访问硬件的特性。
DirectX主要的目的就是提供象MS-DOS一样简洁的访问硬件的能力,来实现并且提高基于MS-DOS平台应用软件的运行效果,并且为个人电脑硬件的革新扫除障碍。
另一方面,微软公司开发DirectX是为了在当前或今后的计算机操作系统上提供给基于Windows平台的应用程序以高表现力、实时的访问硬件的能力。
DirectX 在硬件设备和应用程序之间提供了一套完整一致的接口,以减小在安装和配置时的复杂程度,并且可以最大限度的利用硬件的优秀特性。
通过使用DirectX所提供的接口,软件开发者可以尽情的利用硬件所可能带来的高性能,而不用烦恼于那些复杂而又多变的硬件执行细节。
一个高表现力的基于Windows平台的游戏将得益于以下几种技术:∙专为提高图形运算及快速反应能力而设计的加速卡(Accelerator cards)∙即插即用以及其它Windows软硬件∙内建于Windows的通信服务, 包括DirectPlay2、为硬件开发提供策略DirectX的另外一个重要的目的是给硬件厂商提供开发策略,他们可以从高性能程序的开发者和独立的硬件供应商(independent hardware vendors IHVs)那里得到反馈。
DirectX9_SDK中文文档做转1 Direct3D起步Getting started with Direct3D本节提供对Microsoft Direct3D应用程序编程接口(API)中三维图形功能的介绍。
可以在这里找到有关图形流水线的概述,以及可以快速运行,帮助开发者了解Direct3D基本功能的教程。
Direct3D体系结构三维坐标系与几何学Direct3D 对象设备资源状态顶点声明顶点格式几何体渲染- Direct3D体系结构Direct3D Architecture alphaversion Architecturealpha Direct3DArchitectureDirect3D体系结构本节包含了有关Microsoft Direct3D部件和其它Microsoft DirectX部件、操作系统、及系统硬件之间关系的信息,讨论了以下主题。
Direct3D体系结构概述硬件抽象层系统集成可编程顶点着色器体系结构可编程像素着色器体系结构Direct3D体系结构概述这是一幅图形流水线的图示。
下面介绍了每一块的功能,以及在哪里可以找到更多信息的链接。
有关Microsoft Direct3D可编程部分的体系结构的更多信息,请参阅可编程顶点着色器体系结构和可编程像素着色器体系结构。
硬件抽象层Microsoft Direct3D通过硬件抽象层(HAL)提供设备无关性。
HAL是一个设备相关的接口,由设备制造商提供,Direct3D使用HAL与显示硬件协同工作。
应用程序从不直接与HAL打交道。
相反,通过HAL提供的基础,Direct3D暴露了一组统一的接口和方法,应用程序用这些接口和方法绘制/显示图形。
在Microsoft Windows XP、Microsoft Windows NT和Windows 2000下,设备制造商用32位代码实现HAL。
而在Windows 98和WindowsMillennium EditionWindows Me下,则混合使用16位和32位代码。