DirextX—ddsd.lpitch是什么?

lpitch是结构体DDSURFACEDESC2的一项,这个结构体描述了页面/表面的一些信息。

lpitch一般译做步幅(stride)或内存宽度(memory width)。注意,它与DDSURFACEDESC2结构体中的另一项dwWidth的意义是不一样的。

lpitch的单位是字节,dwWidth的单位是像素。所以,一个640×480×8(640×480个像素,每像素用8位,即一个字节表示)页面,dwWidth=640 像素(字节)。但是,此时Lpitch不一定就等于640(字节)!同样一个640×480×16的页面,它的Lpitch值也不一定等于640×2(字节)。

这是因为,Lpitch中的字节数有时还包含了高速缓冲区的内存字节数。如下图:

通过以上图可以看到,页面外面还有一段额外内存,而这段内存是未知的;所以说,假如一个640×480×8的页面,它的dwWidth值是640,但是,它的Lpitch值应该是640+x,x就是高速缓冲区Cache占用的内存。

所以,如果要访问这个页面缓冲区的第y行的第x个像素,应该这样:

ddsd.lpSurface[x+y*ddsd.lpitch]

转载于:https://www.cnblogs.com/fangshenghui/archive/2010/03/30/1700634.html

DirextX—ddsd.lpitch是什么?相关推荐

  1. 游戏中汉字显示的实现与技巧

    转自: http://www.cppblog.com/richardhe/archive/2009/01/04/63851.html 游戏中汉字显示的实现与技巧[ZZ] 作者:炎龙工作室 千里马肝 版 ...

  2. Bresenham快速画直线算法

    现在的计算机的图像的都是用像素表示的,无论是点.直线.圆或其他图形最终都会以点的形式显示.人们看到屏幕的直线只不过是模拟出来的,人眼不能分辨出来而已.那么计算机是如何画直线的呢,其实有比较多的算法,这 ...

  3. ddraw 的blt 方法

    // -------------------------------------------------------------------------  // 文件名      :  7_7.cpp ...

  4. DDraw笔记-高彩模式

    高彩模式 除了8位的,还有16位.24位.32位等.高于8位的模式都不再采用调色板模式.下面介绍几种编码模式. 16位模式下有几种编码方案 Alpha.5.5.5:这种模式用D15位存储一个Alpha ...

  5. DirectDraw高彩模式编程入门

    目 录 1 图形编程基本常识 2 DirectDraw的简单概念 3 DirectDraw的初始化代码 4 高彩下的画点函数 ------------------------------------- ...

  6. Mir2Ei Avi播放修复

    效果如图,本来源代码中avi播放这一块是用的vfw,不过调试了几次,好像在真彩色下找不到解码器,没办法了,用了比较有名的ffmpeg做了一个接口一样的Video类来播放avi. 主要解决的问题有: 1 ...

  7. 【原创】火星寻路程序

    这个程序的作用是,任意加载一幅图像,程序将自动识别路线,设置一个目标,Agent会自动让开障碍物,采用A*,Agent之间有碰撞检测功能.不会发生重叠.此技术可以实现汽车的自动导航,以及火星登陆车的自 ...

  8. Delphi 环境下使用DirectDraw实现简单的绘制

    注:demo来源于<windows游戏编程大师技巧>demo6-3,本文章用Delphi实现该demo. 首先,使用Windows API函数实现原生态窗体,然后调用DDraw类实现效果. ...

  9. 用DirectDraw实现屏幕截图

    在DirectDraw的非独占模式中,主表面即为当前屏幕.你可以直接Lock住主表面,从而取得主表面图象数据.但如果你要对大量的数据进行直接的操作,最好还是先在系统内存中建一个和主表面一样大小的后台表 ...

  10. WinCE Overlay - 示例:mosquito

    在代码中增加了很多对代码的注释. 同时,对在不同平台(Telechips,MStar)的测试效果也做了说明. 虽然代码是 Overlay 示例,但还是增加了一些东东,对 Overlay 有兴趣的童鞋可 ...

最新文章

  1. Django 模板4.1
  2. 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)
  3. #论文 《Deep Residual Learning for Image Recognition》
  4. linux——系统日志的信息、采集、查看、保存
  5. Modbus通信协议之CRC16冗余循环校验函数
  6. 常用linux terminal 命令
  7. 今日头条电脑版官方版_雷霆拯救电脑版-雷霆拯救pc版下载v4.0.9 官方版
  8. 中国男足孔已己版(转载,博大家一笑)
  9. iphone9发布_苹果将发布iPhone9!配置升级价格公道,期待官网亮相!
  10. 面试准备每日五题:C++(一)——变量定义声明、#ifdef #else、结构体赋值、sizeof strlen、C和C++的static
  11. java构建模式_《Java设计模式》之构建者模式
  12. js call和apply方法小结
  13. c语言工程作业,西工大c语言程序作业
  14. html网页中获取vf数据到mysql_vfp教程之用FoxWeb在网上快速发布你的FOXPRO数据库
  15. python实现单例模式的几种方法实例详解
  16. COMSOL中的基础概念
  17. php家居门户源码,家居装修门户模板源码discuz模板 php家居装修网论坛源码
  18. android 出生日期设置,android-选择出生日期对话框
  19. QNX系统终端中同一个进程号显示多次
  20. 通过两个小例子,更快了解-Xms -Xmx

热门文章

  1. 休闲娱乐 - 减肥餐
  2. fopen用java代码实现_C语言基础(20)-文件操作(fopen,getc,fclose)
  3. 社交 APP 唔哩星球完成数百万元天使轮融资,投资方为启明创投
  4. 最新发现----葵花宝典的创始人居然是段誉!!!
  5. 多元统计分析——聚类分析——K-均值聚类(K-中值、K-众数)
  6. 类微信卡包应用实现(附源码)
  7. 一文读懂 | 云上用户如何灵活应用定制化网络服务
  8. java基础,进阶(二)
  9. DVWA Contradiction #01
  10. 社招两年半10个公司28轮面试面经