DirextX—ddsd.lpitch是什么?
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是什么?相关推荐
- 游戏中汉字显示的实现与技巧
转自: http://www.cppblog.com/richardhe/archive/2009/01/04/63851.html 游戏中汉字显示的实现与技巧[ZZ] 作者:炎龙工作室 千里马肝 版 ...
- Bresenham快速画直线算法
现在的计算机的图像的都是用像素表示的,无论是点.直线.圆或其他图形最终都会以点的形式显示.人们看到屏幕的直线只不过是模拟出来的,人眼不能分辨出来而已.那么计算机是如何画直线的呢,其实有比较多的算法,这 ...
- ddraw 的blt 方法
// ------------------------------------------------------------------------- // 文件名 : 7_7.cpp ...
- DDraw笔记-高彩模式
高彩模式 除了8位的,还有16位.24位.32位等.高于8位的模式都不再采用调色板模式.下面介绍几种编码模式. 16位模式下有几种编码方案 Alpha.5.5.5:这种模式用D15位存储一个Alpha ...
- DirectDraw高彩模式编程入门
目 录 1 图形编程基本常识 2 DirectDraw的简单概念 3 DirectDraw的初始化代码 4 高彩下的画点函数 ------------------------------------- ...
- Mir2Ei Avi播放修复
效果如图,本来源代码中avi播放这一块是用的vfw,不过调试了几次,好像在真彩色下找不到解码器,没办法了,用了比较有名的ffmpeg做了一个接口一样的Video类来播放avi. 主要解决的问题有: 1 ...
- 【原创】火星寻路程序
这个程序的作用是,任意加载一幅图像,程序将自动识别路线,设置一个目标,Agent会自动让开障碍物,采用A*,Agent之间有碰撞检测功能.不会发生重叠.此技术可以实现汽车的自动导航,以及火星登陆车的自 ...
- Delphi 环境下使用DirectDraw实现简单的绘制
注:demo来源于<windows游戏编程大师技巧>demo6-3,本文章用Delphi实现该demo. 首先,使用Windows API函数实现原生态窗体,然后调用DDraw类实现效果. ...
- 用DirectDraw实现屏幕截图
在DirectDraw的非独占模式中,主表面即为当前屏幕.你可以直接Lock住主表面,从而取得主表面图象数据.但如果你要对大量的数据进行直接的操作,最好还是先在系统内存中建一个和主表面一样大小的后台表 ...
- WinCE Overlay - 示例:mosquito
在代码中增加了很多对代码的注释. 同时,对在不同平台(Telechips,MStar)的测试效果也做了说明. 虽然代码是 Overlay 示例,但还是增加了一些东东,对 Overlay 有兴趣的童鞋可 ...
最新文章
- Django 模板4.1
- 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)
- #论文 《Deep Residual Learning for Image Recognition》
- linux——系统日志的信息、采集、查看、保存
- Modbus通信协议之CRC16冗余循环校验函数
- 常用linux terminal 命令
- 今日头条电脑版官方版_雷霆拯救电脑版-雷霆拯救pc版下载v4.0.9 官方版
- 中国男足孔已己版(转载,博大家一笑)
- iphone9发布_苹果将发布iPhone9!配置升级价格公道,期待官网亮相!
- 面试准备每日五题:C++(一)——变量定义声明、#ifdef #else、结构体赋值、sizeof strlen、C和C++的static
- java构建模式_《Java设计模式》之构建者模式
- js call和apply方法小结
- c语言工程作业,西工大c语言程序作业
- html网页中获取vf数据到mysql_vfp教程之用FoxWeb在网上快速发布你的FOXPRO数据库
- python实现单例模式的几种方法实例详解
- COMSOL中的基础概念
- php家居门户源码,家居装修门户模板源码discuz模板 php家居装修网论坛源码
- android 出生日期设置,android-选择出生日期对话框
- QNX系统终端中同一个进程号显示多次
- 通过两个小例子,更快了解-Xms -Xmx
热门文章
- 休闲娱乐 - 减肥餐
- fopen用java代码实现_C语言基础(20)-文件操作(fopen,getc,fclose)
- 社交 APP 唔哩星球完成数百万元天使轮融资,投资方为启明创投
- 最新发现----葵花宝典的创始人居然是段誉!!!
- 多元统计分析——聚类分析——K-均值聚类(K-中值、K-众数)
- 类微信卡包应用实现(附源码)
- 一文读懂 | 云上用户如何灵活应用定制化网络服务
- java基础,进阶(二)
- DVWA Contradiction #01
- 社招两年半10个公司28轮面试面经