学习DirectDraw日志

原创 2006年06月13日 23:49:00

DirectDraw 是DirectX应用程序编程接口的一部分 ,是 microsoft 提供的能更好的对控制显存操作,硬件位图映射(hardware blitter),支持硬件覆盖和换页技术(flipping surface)的一套新的类库。

他提供了完成一下任务的工具

1。管理多页面

2。直接访问视频内存

 3。换页(page flipping)

 4。后台缓存(back buffering)

 5。管理调色(palette)板

 6。裁剪(clipping)

DirectDraw 所用的对象有

1-DirectDraw:

      这是DirectDraw的核心,是DirectDraw所要创建的第一个对象。需要用他来创建其他的对象。创建的方式为

DirectDrawCreate函数。 实现的接口 IDirectDraw ,IDirectDraw2,IDirectDraw4

2-DirectDrawSurface:

     简称为“页面”。他代表内存中的一块区域。他存储了可以显示在显示器上的图像数据。创建的方式为

IDirectDraw4:CreateSurface,实现的接口有 IDirectDrawSurface,IDirectDrawSurface2,IDirectDrawSurface3,IDirectDrawSurface4

3 -DirectDrawPallete:

     简称为“调色板” ,代表了一个可以为页面所使用的16或256色的调色板.它包含了一组 RGB 值的索引,用来描述页面上的像素所使用的颜色值.对于像素位深度大于8的页面,不需要使用调色板.通过调用 IDirectDraw4::CreatePalette 函数,可以创建一个 DirectDrawPalette 对象. DirectDrawPalette 对象通过 IDirectDrawPalette 接口为开发者提供其函数性.

4-DirectDrawClipper 对象

       DirectDrawClipper 对象,通常简称为"裁剪器(Clipper)",帮助开发者使 Blit(位块传送)操作限定在页面的某一区域内,或不超出页面的边界范围.通过调用 IDirectDraw4::CreateClipper 函数可以创建一个 DirectDrawClipper 对象. DirectDrawClipper 对象通过 IDirectDrawClipper 接口为开发者提供其函数性

5-DirectDrawVideoPort 对象

       DirectDrawVideoPort 对象代表了当前某些系统上的视频端口(Vedio port)硬件.这个硬件允许直接的访问帧缓存,而不需要通过 CPU 或使用 PCI 总线.通过对 DirectDRaw 对象调用 QueryInterface 函数(指定 IID_IDDVideoPortContainer 标志符),可以创建一个 DirectDrawVideoPort 对象. DirectDrawVideoPort 对象通过 IDDVideoPortContainerIDirectDrawVideoPort 接口为开发者提供其函数性.

DirectDraw入门介绍

游戏开发新手入门之DirectX入门 ☆ 简介 今天我们要接触到令人敬畏的DirectX。它比Windows GDI要快好几倍,可用于不同的语言和多种平台,支持从绘制象素到高级3D图象,从...
  • FrankieWang008
  • FrankieWang008
  • 2014年10月08日 14:47
  • 1270

directdraw的多画面显示rgb

#include #include "stdio.h" #include "stdlib.h" #include "malloc.h" #pragma comment (lib,"ddraw.li...
  • mao0514
  • mao0514
  • 2013年11月13日 08:51
  • 1416

directdraw 显示图像

#include "global.h" /* LPDIRECTDRAW lpDD; //DiectDraw object LPDIRECTDRAWSURFACE  lpDDSFront;...
  • goodadult2012
  • goodadult2012
  • 2014年10月24日 14:40
  • 950

如何使用DirectDraw直接显示RGB、YUV视频数据(播放yuv)

1.在DirectDraw中创建YUV表面   与一般表面不同的是,创建YUV表面时需要指定象素格式,并指定YUV数据的FourCC码,关于FourCC码可以参考微软MSDN站点上的说明,下面是具体的...
  • mao0514
  • mao0514
  • 2013年11月09日 09:39
  • 1962

高级DirectDraw和位图图形

转至:http://blog.sina.com.cn/s/blog_7948916001015cyh.html 1.获取表面的像素格式     函数:HRESULT IDIRECTDRAWSURF...
  • sunjianjun1981
  • sunjianjun1981
  • 2013年03月17日 08:41
  • 1018

游戏编程之十五 DirectDraw 的基本知识

DirectDraw 游戏编程基础(2) 游戏使计算机的发展超越了晶体管时代              例程1(DDEX1):DirectDraw 的基本知识 在使用 Dir...
  • zhangchen124
  • zhangchen124
  • 2016年06月22日 21:32
  • 666

DirectDraw 简单示例

步骤 1: 创建一个 DirectDraw 对象 要创建一个 DirectDraw 对象的实例,你的应用程序要象 DDEx1 例程中的 doInit 函数那样先使用 DirectDrawCreate...
  • coloriy
  • coloriy
  • 2015年03月17日 10:49
  • 442

双缓冲技术 directdraw

双缓冲技术   在离屏缓冲绘制图像,然后将其拷贝到显示表面的处理过程被称作双缓冲技术。 实现:额外的一块同主DirectDraw表面具有同样尺寸的内存。并在这块内存上画每一帧动画之后...
  • woaicide
  • woaicide
  • 2016年11月04日 18:34
  • 157

DirectDraw GDI的区别之一

屏幕上的显示在内存中是以下这样的结构。当向显示缓存区中写入数据时,就会显示相应的图像。DirectDraw的作用是创建,其实就是取得缓存区的地址,并且还能创建一个虚拟的缓存区内存。例如,A区域内存可以...
  • liu563582815
  • liu563582815
  • 2013年03月12日 09:37
  • 5299

DirectDraw学习:第一课

早就听说DirectDraw的大名,以前学习Windows游戏编程大师技巧的时候,也接触过这些东西,但是后来有用其他原因放起学习,现在想重新学习DirectDraw,这个部件是DirectX中在早期很...
  • asb2010
  • asb2010
  • 2015年01月23日 14:11
  • 352
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:学习DirectDraw日志
举报原因:
原因补充:

(最多只允许输入30个字)