刚看direct,问下龙书中《1.3.1表面》中的一个问题!!!!
时间:2011-07-28
来源:互联网
C/C++ code
还有想问下DWORD是什么?
D3DSURFACE_DESCsurfaceDesc; _surface->GetDesc(&surfaceDesc); // 取得被锁定表面的像素数据的指针 D3DLOCKED_RECTlockedRect; _surface->LockRect( &lockedRect,//指向被锁定表面的数据 0,//0表示锁定全部表面 0);//0表示没有指定锁定标记 // 遍例表面上的每个像素,将它们设为红色 DWORD*imageData=(DWORD*)lockedRect.pBits; for(inti=0;i<surfaceDesc.Height;i++) { for(intj=0;j<surfaceDesc.Width;j++) { // 取得纹理索引, 注意我们用pitch 除以4是因为pitch的单位是像素, // 并且一个DWORD类型占为4bytes空间 intindex=i*lockedRect.Pitch/4+j; 这个地方为什么要除以4 imageData[index]=0xffff0000;// 每个像素设为红色 } }
还有想问下DWORD是什么?
作者: lqb0013 发布时间: 2011-07-28
问题没明显标明,在贴一次:
C/C++ code
C/C++ code
D3DSURFACE_DESCsurfaceDesc; _surface->GetDesc(&surfaceDesc); // 取得被锁定表面的像素数据的指针 D3DLOCKED_RECTlockedRect; _surface->LockRect( &lockedRect,//指向被锁定表面的数据 0,//0表示锁定全部表面 0);//0表示没有指定锁定标记 // 遍例表面上的每个像素,将它们设为红色 DWORD*imageData=(DWORD*)lockedRect.pBits; for(inti=0;i<surfaceDesc.Height;i++) { for(intj=0;j<surfaceDesc.Width;j++) { // 取得纹理索引, 注意我们用pitch 除以4是因为pitch的单位是像素, // 并且一个DWORD类型占为4bytes空间 intindex=i*lockedRect.Pitch/4+j; [color=#FF0000]这个地方为什么要除以4[/color] imageData[index]=0xffff0000;// 每个像素设为红色 } }
作者: lqb0013 发布时间: 2011-07-28
DWORD双字节,你可以直接看他的定义处嘛。
typedef unsigned long DWORD;
为什么要除4,上面不都写了么“除以4是因为pitch的单位是像素”
32位的颜色吧,看下面0xffff0000
typedef unsigned long DWORD;
为什么要除4,上面不都写了么“除以4是因为pitch的单位是像素”
32位的颜色吧,看下面0xffff0000
作者: HollyCpp 发布时间: 2011-07-28
写错了,DWORD是4字节,WORD是2字节......
作者: HollyCpp 发布时间: 2011-07-28
DWORD是双字,不是双字节,多了个“节”字,意思就不一样了.....
作者: HollyCpp 发布时间: 2011-07-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28