Direct3D Surfaces (Direct3D 9)

首次记录于博客misskissC:http://blog.csdn.net/misskissc/article/details/9018095

原文地址:http://msdn.microsoft.com/en-us/library/windows/desktop/bb219683(v=vs.85).aspx

初始翻译,多多不准。

 

表面代表一块线性的显示内存并且通常驻留在显卡的显示内存中,尽管表面能够存在于系统内存中。表面被IDirect3DSurface9接口来管理。

  • Front buffer:一个被图形适配器翻译并且将会被展示给显示器的矩形内存。在Direct3D程序中,用户程序永远都不会对front buffer直接进行写操作。

  • Back buffer:用户可以直接对其进行写操作的矩形区域。一个back buffer永远都不会直接被显示到显示器之上。
  • Flipping surface:将back buffer转换为front buffer的过程。
  • Swapchain:一个或者多个将要被以系列形式呈现为front bufferback buffer集。

 

获取一个表面

通过调用以下的任何一个方法来创建一个表面:

 

表面的格式决定了存在表面内存里面的每像素的数据将会怎么被解释。Direct3DD3DFORMAT的成员D3DSURFACE_DESC结构来描述表面surface的格式。你可以通过调用GetDesc方法来检索一个已经存在的表面的格式。

 

 

一旦一个表面surface被创建,调用以下任何一个方法就可以用一个指针来指向这个表面:

 

IDirect3DSurface9接口能让用户通过UpdateSurface方法直接访问内存。这个方法能让你从一个IDirect3DSurface9接口赋值一个区域的像素矩阵内存数据到另一个IDirect3DSurface9接口。这个接口也拥有方法来直接访问显存,例如:用户可以使用LockRect方法去锁定一块显存,需要在不需要锁定此块显存时定要调用UnlockRect方法来解锁。

 

 

另外的一些表面话题

想要知道更多的如何使用一个表面可以看以下这些话题:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值