摘要: 双缓冲技术在离屏缓冲绘制图像,然后将其拷贝到显示表面的处理过程被称作双缓冲技术。实现:额外的一块同主DirectDraw表面具有同样尺寸的内存。并在这块内存上画每一帧动画之后拷贝双内在到主显示表面。如:申请640X480X8的内存UCHAR *double_buffer = (UCHAR *) malloc (640*480);或者UCHAR *double_buffer = new UCHAR[640*480];实现:让后备缓冲显示出来,可以把后备缓冲拷贝到主显示页面代码如下:Code highlighting produced by Actipro CodeHighlighter (fre 阅读全文
posted @ 2010-03-30 14:48 xyecho 阅读(953) 评论(0) 推荐(0) 编辑
摘要: DirextX—ddsd.lpitch是什么? lpitch是结构体DDSURFACEDESC2的一项,这个结构体描述了页面/表面的一些信息。 lpitch一般译做步幅(stride)或内存宽度(memory width)。注意,它与DDSURFACEDESC2结构体中的另一项dwWidth的意义是不一样的。 lpitch的单位是字节,dwWidth的单位是像素。所以,一个640×480×8(640×480个像素,每像素用8位,即一个字节表示)页面,dwWidth=640 像素(字节)。但是,此时Lpitch不一定就等于640(字节)!同样一个640×4 阅读全文
posted @ 2010-03-30 14:44 xyecho 阅读(847) 评论(0) 推荐(0) 编辑
摘要: 创建一个主显示表面(Windows游戏编程大师P210)1、填充一个DDSURFACDESC2数据结构。描述你所希望创建的显示表面2、调用IdirectDraw7::CreateSurface() 创建显示表面HREXULT CreatSurface(LPDDSURFACEDESC2 lpDDSufraceDesc2, LPDIRECTDRAWSURFACE4 FAR *lplpDDSurface,IUnknown FAR *pUnkOuter);如何调用:lpdd->CreateSurface(&ddsd, &lpddsprimary, NULL)ddsd 为DDSUF 阅读全文
posted @ 2010-03-30 14:40 xyecho 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2010-03-30 14:35 xyecho 阅读(256) 评论(0) 推荐(0) 编辑
摘要: DirextX7。0 SDK 在VC 6.0 环境中使用的注意事项在VC 6.0环境中使用DirectX 7.0 SDK。首先安装了DirectX 7.0 SDK。然后在”Tools”菜单栏中的”Options”菜单项中包含头文件和库文件。然后编译DirectX 7.0 SDK中的一个例子JoystImm。出现了LPDIRECTINPUT7类型不能识别的问题,具体是:'LPDIRECTINPUT7' : missing storage-class or type specifiers。 原来的头文件包含如下图: 改为: 然后重新编译,但是还有两个编译错误unresolved e 阅读全文
posted @ 2010-03-30 14:19 xyecho 阅读(373) 评论(0) 推荐(0) 编辑