社区
游戏开发
帖子详情
IDirect3dSurface9::LockRect失败?
foruok
博客专家认证
2008-03-25 05:23:08
我在窗口模式在,用IDirect3DDevice9的GetBackBuffer获得一个IDirect3dSurface9接口,然后调用LockRect(&lockrect, NULL,0),总是DEDERR_INVALIDCALL,哪位遇到过类似情况,怎么解决的?指点一下。
谢谢。
...全文
534
4
打赏
收藏
IDirect3dSurface9::LockRect失败?
我在窗口模式在,用IDirect3DDevice9的GetBackBuffer获得一个IDirect3dSurface9接口,然后调用LockRect(&lockrect, NULL,0),总是DEDERR_INVALIDCALL,哪位遇到过类似情况,怎么解决的?指点一下。 谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
downloadmy
2011-07-26
打赏
举报
回复
如何解决的,楼主能说一下吗?我的返回值总是一个绝对值很大负数,何解啊??
火云洞红孩儿
2008-03-26
打赏
举报
回复
http://topic.csdn.net/t/20051118/14/4402787.html
foruok
2008-03-26
打赏
举报
回复
解决了。
foruok
2008-03-25
打赏
举报
回复
我是在BeginScene和EndScene之间调用的。
I
Di
rect
3D
Surface
9::
Lock
Rect
失败
的问题
利用FFMPEG和D3D来做视频播放器的试验,想直接操作后台缓冲区,将ffmpeg解码的数据写进去。于是用GetBackbuffer获取了后台缓冲区表面指针,可是
Lock
Rect
失败
,找了几天终于发现了原因:在创建设备时没有指定D3DPRESENTFLAG_
LOCK
ABLE_BACKBUFFER标记。 初学D3D,总是遇到类似的问题。 是以为记。
利用I
Di
rect
3D
Surface
9创建一个表面,并使它显示红色
Device->BeginScene(); // assume _
surface
is a pointer to an i
di
rect
3d
surface
9 interface. // assumes a 32-bit pixel format for each pixel. // get the
surface
description.描述表面 D3D
SURFACE
_DES
Di
rect
X 9.0 3D 笔记
1.3.0 预备 1.HAL,硬件抽象层,由D3DDEVTYPE_HAL指定 2.REF,参考光栅设备 3.COM,组件对象模型,使之向下兼容,视为C++类。 1.3.1 表面 4.I
Di
rect
3D
Surface
9,描述表面。 (1)
Lock
Rect
:获取指向表面存储区的指针,通过指针对每一个像素进行读写。 (2)Un
lock
Rect
:执行完
Lock
Rect
后,必须调用
I
Di
rect
3D
Devices9接口怎样应用到简单的二维应用程序里
2D Application这一章将讨论I
Di
rect
3D
Devices9接口怎样应用到简单的两维应用程序里去。然而,接下来讨论的方法和接口的方法不仅仅只应用在两维应用程序里面。 开始我们将看看I
Di
rect
3D
Surface
9接口,它用于存放像素数据。我们将看看怎样创建su
[
Di
rect
3D
]
Surface
s (
Di
rect
3D
9)
原文地址:http://msdn.microsoft.com/en-us/library/windows/desktop/bb219683(v=vs.85).aspx 初始翻译,多多不准。 表面代表一块线性的显示内存并且通常驻留在显卡的显示内存中,尽管表面能够存在于系统内存中。表面被I
Di
rect
3D
Surface
9接口来管理。 Front buffer:一个被图形适配器翻译并
游戏开发
8,303
社区成员
23,682
社区内容
发帖
与我相关
我的任务
游戏开发
游戏开发相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏开发相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章