D3D渲染YUV,窗口改变后,参数设置

原来:

hr = GetDevice()->BeginScene();
IDirect3DSurface9 * pBackBuffer = NULL;
hr = GetDevice()->GetBackBuffer(0,0,D3DBACKBUFFER_TYPE_MONO,&pBackBuffer);
hr = GetDevice()->StretchRect((IDirect3DSurface9*)data->Data.MemId,NULL,pBackBuffer,
&client_rect,D3DTEXF_LINEAR);   
hr = GetDevice()->EndScene();
hr = GetDevice()->Present( NULL, NULL, NULL, NULL );
pBackBuffer->Release();


此时的 client_rect 的值已经改变了,但是输出不正常,只是停留在原来的画面,画面不刷新,播放


改变后:

hr = GetDevice()->BeginScene();
IDirect3DSurface9 * pBackBuffer = NULL;
hr = GetDevice()->GetBackBuffer(0,0,D3DBACKBUFFER_TYPE_MONO,&pBackBuffer);
hr = GetDevice()->StretchRect((IDirect3DSurface9*)data->Data.MemId,NULL,pBackBuffer,
NULL,D3DTEXF_LINEAR);   
hr = GetDevice()->EndScene();
hr = GetDevice()->Present( NULL, NULL, NULL, NULL );
pBackBuffer->Release();


这是问的QQ群里面的人:

    

 我再问一下哈,我之前的rect也是相应的全屏大小,为什么就不行呢
-------------------------------------------------------------------------------------------
我也没找到原因
-------------------------------------------------------------------------------------------
你看看你的渲染大小
-------------------------------------------------------------------------------------------
貌似你窗口大小改变后
-------------------------------------------------------------------------------------------
GetScissorRect
-------------------------------------------------------------------------------------------
这个获取到的渲染大小没变
-------------------------------------------------------------------------------------------
我尝试进行Reset,提示失败


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值