游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3984|回复: 10

请教为什么RenderTarget的纹理在ps中没法使用?

[复制链接]

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2006-5-15 21:53:00 | 显示全部楼层 |阅读模式
我用一张纹理渲染了一些物体,之后想在HLSL的ps中使用,却tex2D()得到的总是(0,0,0,0);我把纹理save为bmp,却发现bmp很正常,可以断定是ps的问题。请问如何解决?

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2006-5-16 16:37:00 | 显示全部楼层

Re:请教为什么RenderTarget的纹理在ps中没法使用?

你SetTexture之前要先取消掉它作为RT的状态,不然会出现访问异常

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
 楼主| 发表于 2006-5-16 18:51:00 | 显示全部楼层

Re:请教为什么RenderTarget的纹理在ps中没法使用?

请问如何取消它的rt状态?是指把它的Surface释放掉吗(这个我已经做了)?

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2006-5-16 23:45:00 | 显示全部楼层

Re:请教为什么RenderTarget的纹理在ps中没法使用?

意思就是不要设置为 rendertarget 。

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2006-5-17 14:42:00 | 显示全部楼层

Re: 请教为什么RenderTarget的纹理在ps中没法使用?

如果是MRT,就SetRenderTarget(iNo, NULL);
如果是主RT,就SetRenderTarget其他任意RT即可

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
 楼主| 发表于 2006-5-17 18:37:00 | 显示全部楼层

Re:请教为什么RenderTarget的纹理在ps中没法使用?

谢谢

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
 楼主| 发表于 2006-5-17 19:51:00 | 显示全部楼层

Re:请教为什么RenderTarget的纹理在ps中没法使用?

我晕,还是不行

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
 楼主| 发表于 2006-5-17 19:54:00 | 显示全部楼层

Re:请教为什么RenderTarget的纹理在ps中没法使用?

fx里面是:
texture  Front;
texture  Scene;
texture  Back;
sampler2D g_samScene =sampler_state
{
    Texture = <Scene>;
    MinFilter = Point;
    MagFilter = Linear;
    MipFilter = Linear;
};
sampler2D g_samBack =sampler_state
{
    Texture = <Back>;
    MinFilter = Point;
    MagFilter = Linear;
    MipFilter = Linear;
};

sampler2D g_samFront =sampler_state
{
    Texture = <Front>;
    MinFilter = Point;
    MagFilter = Linear;
    MipFilter = Linear;
};

我怀疑是sampler的问题

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2006-5-17 20:39:00 | 显示全部楼层

Re:请教为什么RenderTarget的纹理在ps中没法使用?

哦。。。原来你打开了MIP过滤。。。估计是你只渲染到第一层Surface,而过滤的时候又采样到了其他MIP层造成的,把MIP过滤关掉,MipFilter=None试试

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2006-5-17 20:42:00 | 显示全部楼层

Re:请教为什么RenderTarget的纹理在ps中没法使用?

创建RT纹理的时候MIP层数指定为1,不要填0,这样就只有第一层有效,而且还可以节省显存
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-24 12:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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