游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2309|回复: 2

ID3DXRenderToSurface::BeginScene() 失败?

[复制链接]

22

主题

69

帖子

69

积分

注册会员

Rank: 2

积分
69
发表于 2006-6-28 14:33:00 | 显示全部楼层 |阅读模式
ID3DXRenderToSurface::BeginScene 失败?
调用如下

gTexture->GetSurfaceLevel(0,&pSurface);
gRenderToSurface->BeginScene(pSurface,NULL);  // fails?

//////////////////////////////////////
gTexture 为D3DPOOL_DEFAULT类型
在IDirect3DDevice9::BeginScene()...EndScene() 对之外

另外,试过,若创建离屏表面,将其作为ID3DXRenderToSurface::BeginScene()的参数,则调用成功,可正确渲染!

欢迎讨论!

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2006-6-28 23:32:00 | 显示全部楼层

Re:ID3DXRenderToSurface::BeginScene() 失败?

表面应该是POOL_DEFAULT + USAGE_RENDERTARGET才行吧?离屏表面也可以么?难道是渲染完自动Copy过去的??费解……

22

主题

69

帖子

69

积分

注册会员

Rank: 2

积分
69
 楼主| 发表于 2006-6-28 23:50:00 | 显示全部楼层

Re:ID3DXRenderToSurface::BeginScene() 失败?

离屏表面确实可以
我的意思是如果一个单独的离屏表面,刚可以正确渲染到其中,但以上面的方法,得到纹理的表面指针,作为ID3DXRenderToSurface::BeginScene()的参数,单步执行,这一行就失败了!

dx9.0b 中有water例子,就是用的上面那种方法,但我自己用时这一步失败了!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-24 20:38

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表