欢迎来到天天文库
浏览记录
ID:23112209
大小:81.50 KB
页数:19页
时间:2018-11-04
《游戏开发基础(5)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方游戏开发基础(5)第五章diectxdarw基础篇 第一节DirectDraw简介Grubers的一个观点是DirectDraw“只是一个bltting发动机”。这是相当准确的,但却太简化了。更准确地讲,DirectDraw是一个可以提供软件仿真测试的独立于硬件设备的bltting发动机。DirectDraw的主要用途是尽可能快、尽可能可靠并且尽可能连续地将图形考贝到视频显示设备上。 另外一个定义DirectDraw的方式是把它作为
2、一个视频存储器管理器,同常规的存储器管理器一样,DirectDraw发放存储器信息包,跟踪每一个信息包的状态。信息包可以随意地创建、复制、修改或破坏,同时这些操作的细节被程序员隐含起来,这样讲是过于简单了。此外,DirectDraw是能够使用系统RAM和视频RAM的。存储器管理器也经常被设计成和主要目标一样强健,而不只是追求性能。对于DirectDraw,性能只是设计目标之一。从技术角度讲,DirectDraw是随同设备驱动器集合的便携式API。DirectDraw设计成完全避开传统意义上的Windows图形机构(GDI,或称图形设备接口)。
3、GDI由于性能低而名声不好,所以DirectDraw的设备独立性在提供最佳性能方面是至关重要的。第二节DirectDraw基本概念1.显示模式显示模式是由允许将要显示的图形输出的显示硬件支持的可视配置。最常用的显示模式属性是分辨率。Windows使用的显示模式的默认值是640×480的分辨率。这意味着,水平方向有640个像素,垂直方向有480个像素。其他一些常见的显示模式分辨率有800×600,1024×768。一些显示卡支持ModeX显示模式。一个典型的ModeX显示模式的分辨率为320×200。 显示模式也随像素深度的变化而变化。像素深
4、度决定着每一个像素所容纳的多少不同的值,因而也就可以显示多少种颜色。例如对于8位像素深度的显示模式,每个像素能够再现256种颜色的一种。像素深度为16位的显示模式支持65536种颜色(即2的n次方),典型的像素深度为8、16、24和32位。 显示模式由安装在机器中的显示设备或视频卡支持。显示设备有自己的RAM,从计算机的RAM中分离出来。我们把位于显示设备中的存储器称为显示RAM,而把常规存储器称为系统RAM。支持一个给定的显示模式的RAM的容量取决于显示模式的分辨率和像素深度。例如,640×480×8(640×480像素,深度为8位)的显
5、示模式需要307200字节。1024×768×16的显示模式需要1572864字节。支持显示模式的存储器必须是显示RAM。一个给定显示设备所支持的显示模式因此也被可以利用的显示RAM的容量所限制。例如,1024×768×----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方16的显示模式因为需要一兆字节以上的内存,所以就不能被只有一兆字节RAM的显示设备所支持。DirectDra
6、w的一个主要特征是显示模式切换。这允许一个DirectDraw应用程序检测和激活所安装的显示设备所支持的任何显示模式。我们将在第4章中讨论显示模式切换的细节。2.硬件加速DirectDraw具有最优性能的最重要的原因是,它尽可能地使用硬件加速来进行设计。硬件加速发生在当显示设备能够用建立在显示设备之中的处理功能执行操作时。硬件加速具有两个优点,首先,当硬件加速出现的时候,硬件按指定要求设计成支持图形操作,这提供了执行给定任务的最快的方法:其次,硬件加速使得计算主处理器从执行操作中解放出来,这使得主处理器可以执行其他任务。3.表面表面是存储器的
7、一个矩形部分的DirectDraw术语,通常包括图像数据。该存储器通常用来表示一个存在于显示RAM或系统RAM中的表面。驻留在显示RAM中的表面享有超高性能,因为绝大多数显示硬件不能对系统RAM直接存取。表面分为向大类,最简单的类型是脱离屏幕表面。脱离屏幕表面可以驻留在显示RAM中或系统RAM中,但却不能被显示。这类表面一般用于存储子画面和背景。另一方面,一个主表面是可在屏幕上看到的视频RAM的一部分部分。所有的DirectDraw程序(可以提供视频输出)都拥有主表面。主表面必须驻留在显示RAM中。主表面通常很复杂,或是可翻转的。可翻转表面允
8、许页面翻转,这是一项整个表面的内容可以通过一个硬件操作而瞬时可见的技术。页面翻转用于许多基于DirectDraw或其他的图形应用程序中,因为它可以产生相当平滑、不闪
此文档下载收益归作者所有