|

楼主 |
发表于 2011-3-21 10:40:00
|
显示全部楼层
Re:关于post渲染时无法使用tex2D(sampler,UV,dadx,dady)的问题
我使用的vs ps 版本都设的3.0
post 顶点结构
struct POST_VERTEX
{
D3DXVECTOR4 pos;
DWORD color;//顶点diffuse 其实可以不用 这里顺应SDK sample
D3DXVECTOR2 texcoord;
static const DWORD FVF; //如果不出问题,以后做成品的post也用fvf好了,出问题的话,把fvf改成decl
};
const DWORD POST_VERTEX::FVF=D3DFVF_XYZRHW |D3DFVF_DIFFUSE | D3DFVF_TEX1;
绘制段代码:
g_pEffectPost->BeginPass(iPass);
pDevice->SetFVF(POST_VERTEX::FVF);
pDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP,2,g_vertPost,sizeof(POST_VERTEX));
g_pEffectPost->EndPass();
在PostShader里面使用tex2D(_sampler,_UV,dadx,dady);后没有变化,dadx与dady都设置成float2(0.05,0.05)按正常的来算应该已经很大了吧,可是在post里一点变化也没有
使用多点取值再lerp()确实也能实现模糊,但是效果确实不如偏导数直接模糊,而且我担心多点取值造成fps下降
这个问题对我很重要,谢谢有知道的请回我一下
|
|