游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2851|回复: 7

RTT转动摄像机后渲染出错

[复制链接]

7

主题

15

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2010-6-24 16:49:00 | 显示全部楼层 |阅读模式
RTT转动摄像机后渲染出错

下面是伪代码:
   
        SetRenderTarget(SurfaceA)
        SetTransform(视角A)
        DrawPrimitive

        SetRenderTarget(SurfaceB)
        SetTransform(视角B)
        DrawPrimitive

        。。。

        。。。

最后发现,SurfaceA正常,SurfaceB出现贴图错误

22

主题

87

帖子

87

积分

注册会员

Rank: 2

积分
87
发表于 2010-6-24 18:31:00 | 显示全部楼层

Re:RTT转动摄像机后渲染出错

有没有对灯光方向transform

45

主题

1163

帖子

1165

积分

金牌会员

Rank: 6Rank: 6

积分
1165
发表于 2010-6-24 20:10:00 | 显示全部楼层

Re:RTT转动摄像机后渲染出错

我晕....hook..........

22

主题

87

帖子

87

积分

注册会员

Rank: 2

积分
87
发表于 2010-6-24 22:38:00 | 显示全部楼层

Re:RTT转动摄像机后渲染出错

第一次settransform的世界矩阵是单位矩阵吗?

7

主题

15

帖子

15

积分

新手上路

Rank: 1

积分
15
 楼主| 发表于 2010-6-25 00:52:00 | 显示全部楼层

Re:RTT转动摄像机后渲染出错

As you maybe know it's not possible to create a rendertarget larger than the screen when using Direct3D9 driver, even though it seems to work fine with OpenGL.

The reason for this is the ZBuffer: one ZBuffer is used for all rendertargets.

The solution? Every rendertarget needs its own ZBuffer.

我在网上找到这么几句洋文,大概说要每一个rendertarget 都要自己的Zbuffer,
有谁知道怎么实现么?

3

主题

263

帖子

267

积分

中级会员

Rank: 3Rank: 3

积分
267
发表于 2010-6-25 01:10:00 | 显示全部楼层

Re:RTT转动摄像机后渲染出错

hook哥,你可以在渲染前Clear()zbuffer,不过像你在楼上贴的,需要你的RTT跟默认BackBuffer一样大,起码不能比它大,否则不匹配.
或者像他说的,直接创建自己的zb.
用CreateDepthStencilSurface,大小最好要跟你的render texture一样大.
渲染前用SetDepthStencilSurface设置自己的,渲染完记得设回原来的zbuffer,别忘了你是hook的.

7

主题

15

帖子

15

积分

新手上路

Rank: 1

积分
15
 楼主| 发表于 2010-6-25 01:15:00 | 显示全部楼层

Re:RTT转动摄像机后渲染出错

我刚尝试了一下,CreateDepthStencilSurface竟然返回错误。。。

请问各位大佬,这是怎么回事呢? [em7]

9

主题

132

帖子

145

积分

注册会员

Rank: 2

积分
145
QQ
发表于 2010-6-28 08:19:00 | 显示全部楼层

Re: RTT转动摄像机后渲染出错

rt开的msaa要有对应的msaa的z buffer
实现很简单.

1. initialize...
    create render target.
    create zbuffer.
    create texture.

2. render
  set render target
  set zbuffer
  render scene
  Stretch to texture.

你关了msaa就没问题。  
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-8 12:01

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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