DirectDraw 游戏编程基础(2) 游戏使计算机的发展超越了晶体管时代 例程1(DDEX1):DirectDraw 的基本知识 在使用 DirextDraw时,需要首先创建一个对象DirectDraw...DirectDraw 初始化: DirectDraw 初始化代码写在例程 DDEX1 的 doInit 函数中。...以下针对初始化 DirectDraw 对象和准备表面(Surface)集的各个步骤分别进行讨论: 创建一个 DirectDraw 对象 为了创建一个 DirecDraw 对象实体,你应该在程序中使用...其中,指针IpDD指向由函数 DirectDrawCreate所生成的对象DirectDraw。...应用程序然后调用IDirectDraw::relese,并将DirectDraw对象的关联值减少到0,释放 DirectDraw对象的操作是通过设置DirectDraw对象的值为空完成的,此时DirectDraw
读完本篇后,您就可以用DirectDraw来写简单的游戏了。在这里,我只想讨论如何使用最基本的DirectDraw函数。...DirectDraw API DirectDraw是整个软件开发工具箱的一个构件。DirectDraw是为速度而设计的,它绕过与Windows的图形设备相连的多个层次,直接与硬件的底层打交道。...DirectDraw和其他Windows显示构件 DirectDraw API由DirectDraw对象组成,它表示具体的显示适配器。...DirectDraw, OLE, 和COM接口 DirectDraw是围绕着OLE和COM接口来设计的。如果您不熟悉OLE编程,那将很难开始用DirectDraw编程,这是最基本的一点。...由于所涉及的是DirectDraw的基本知识,因此这里使用的例子都是关于DirectX 3 SDK的简单例子。它们示例了如何设置DirectDraw以及使用DirectDraw方法来执行简单的操作。
DirectDraw遵守COM规格而未被改变。新的函数性可能通过DirectDraw2接口存取。 特别要注意的是,DirectDraw2接口是DirectDraw接口的超级设置。...DirectDraw2接口可提供DirectDraw接口的所有函数,另外还增加了一些新的函数。...但是,由于DirectDraw2接口较DirectDraw接口的功能更强,所以没有必要使用DirectDraw接口。同样,Microsoft并不主张使用这些无组织的、网络可变的接口。...注意,在本章以后的内容中,DirectDraw接口既表示DirectDraw接口,也表示DirectDraw2接口。...只有在区分DirectDraw接口和DirectDraw2接口的函数时,才加以区别。 1. 接口创建函数 DirectDraw接口表示DirectDraw本身。
检验Duel例子 以上5个基本的DirectDraw例程(DDEXx)给你示范了使用DirectDraw的大部分初步方式。...Default: } 决定显示硬件的显示能力 DirectDraw使用硬件模拟去执行末端用户硬件不能支持的DirectDraw函数。...为了加快你所编制的应用程序的执行速度,当生成一个DirectDraw对象时,你应该确定末端用户显示硬件的能力。DirectDraw将充分利用末端用户显示硬件的能力。...DirectDraw将充分利用末端用户系统上的任一可用的显示加速硬件。...下一步你应该干什么 到此为止,你已经相当清楚地理解了如何在简单程序中使用DirectDraw了。当然,这点知识对于DirectDraw程序设计来说,就如同针尖对冰山那样显得微不足道。
官方文档说明如下: Video Renderer only: This method fails if the renderer is using DirectDraw acceleration....Video Mixing Renderer only: This method is reliable regardless of whether the VMR is using DirectDraw
DirectDraw 游戏编程基础(3) 游戏使计算机的发展超越了晶体管时代 例一的扩展(DDEX2和DDEX3) DDEX1包含了一个最基本的DirectDraw的实现方法。...第三个DirectDraw 例程将这一函数进一步地扩展了。...虽然,在DDEX2中,DirectDraw的初始化方式表面上与在 DDEX1中的DirectDraw的初始化方式不太一样,但它们的实质是一样的。...它从一个文件或资源中将一个位图文件载入到一个已经存在的DirectDraw表面(Surface)之中。...该结构存储了DirectDraw表面(Surface)的当前描述。
软件截图 新增功能 新增通过命令行快速开启、关闭DirectDraw加速的功能。...可以通过命令行调用的方式,使DirectX修复工具快速开启、关闭DirectDraw加速,而无需显示主界面及使用鼠标操作。
crashes on 64-bit Linux hosts - GUI: several fixes and improvements to seamless mode - GUI: fixed DirectDraw...specifying custom resolutions for secondary screens - Windows Additions: several fixes and improvements for DirectDraw
DirectShow在硬件的支持下使用DirectSound和DirectDraw。...Video Renderer和Overlay Mixer使用DirectDraw 3和DirectDraw5表面(surfaces)。...Video Mixing Renderer 7(只支持WINXP)使用DirectDraw7表面。
关于DirectDraw,在以后还将有更加详细的讲解。...由于Direct3D相当于DirectDraw对象的一个接口,这里的HAL被表示为DirectDraw/Direct3D HAL。 对保留模式的操作是通过使用一些对象来实现的。...Direct3D和DirectDraw是紧密联系在一起的。...一个DirectDraw对象将DirectDraw和Direct3D状态封装起来,通过IDirectDraw::QueryInterface方式将IDirect3D接口转换为DirectDraw对象。...关于DirectDraw,在以后还将有更加详细的讲解。
第八章 例程之初始化部分 第一节DDInit(): DDInit()的作用是枚举驱动程序,它的具体运行过程如下: 首先调用DirectDrawEnumerate(),这个函数的作用在第五章 DirectDraw...深入篇第三节选择DirectDraw驱动程序中已经谈到了。...第八节DirectDraw的设置 这个部分完成了对DirectDraw的设置工作和游戏开始时初始化画面的显示。它的运行过程如下: if( !...DDEnable( void )的运行过程如下: 1.获取系统信息(运用GetProfileInt()函数)和决定是否使用软件模拟(应用DirectDrawCreate() 为该驱动方式建立一个对象再用DirectDraw_QueryInterface...DDSD_BACKBUFFERCOUNT为标志的后备缓冲记数区,并给表面功能区分配DDSCAPS_PRIMARYSURFACE、DDSCAPS_FLIP和DDSCAPS_COMPLEX三个标志(关于这三个标志,请详细阅读DirectDraw
《DIRECTX.9.0.3D游戏开发编程基础》 这个书籍是从零编程基础开始的,其中部分书中涉及到了DirectDraw与Direct3D8,这两个API在新版本DirectX SDK中都被移除了,现在基本上无用武之地...,所以涉及到DirectDraw与Direct3D 8的那部分就不用仔细看了哈。
1333百万像素/秒 顶点着色引擎 1 (v2.0) (软件) 像素着色引擎 4 (v2.0) (硬件) OpenGL 1.4 DirectX 9.0 视频 硬件运动补偿(MPEG-2视频),色彩空间转换,DirectDraw
现在有时间重新做了一下,在 DirectDraw 中直接Lock后,再将YV12格式转为RGB,然后保存为BMP格式,虽然速度慢点,但截图效果还不错,图片偏色和尺寸不对的问题得到解决。
bFullscreen; ExitGame(); DDDisable(TRUE); // destroy DirectDraw object...在本例程中是指对Directdraw和DirectSound进行初始化,您可以通过阅读DDinit()和 InitSound()以及InitGame()函数的一部分的原代码以及阅读我们提供有关Directdraw...在前面讲的DirectDraw和DirectX5 SDK中的Direct3D都是图形底层,还有ID在 QUAKE发行后提供的QUAKE C也是一种不错的图形底层。...本例程的图形底层十分简单,采用DirectDraw提供的IDirectDrawSurface_BltFast和IDirectDrawSurface_Blt函数: if (pbm->lpSurface...DirectDraw的DirectSurface提供了这个入口,它的DDSURFACEDESC结构中的变量 lpSurface就是显存映射的入口指针。
DirectX的家族成员很多,而且各有各的本领,就如DirectDraw和Direct3D负责二维图形图像/三维动画加速、DirectMusic和DirectSound负责交互式音乐/环境音效处理一样,...DirectShow技术是建立在DirectX的DirectDraw和DirectSound 的基础之上的,它通过 DirectDraw 对显卡进行控制以显示视频,通过DirectSound 对声卡进行控制以播放声音...DirectShow及外部对象的关系框 图1 DirectShow系统框图 从图1 中可以看到,DirectShow的滤波器支持多种外部设备,包括本地文件系统、视频采集卡、有线电视接口、视频播放卡(通过 DirectDraw
for the 32-bit OLE 2.0 API usebormm.lib uuid.lib GUID static library for miscellaneous Direct 3D, DirectDraw
Windows上视频渲染可以选择的方式有很多,比如Direct3D、DirectDraw、GDI,OpenGL等,这里选择d3d的方式来渲染。
DisableDirectDraw,/EnableDirect3D,/DisableDirect3D,/EnableAGP,/DisableAGP 参数解释: /EnableDirectDraw – 快速启用DirectDraw.../DisableDirectDraw – 快速关闭DirectDraw加速,并给出提示。 /EnableDirect3D – 快速启用Direct3D加速,并给出提示。...zhangyue\Desktop\DirectX_Repair(Enhanced_Edition)\DirectX Repair.exe” /DisableDirect3D 使用效果: 完整参数示例3(快速启用DirectDraw
领取专属 10元无门槛券
手把手带您无忧上云