|

楼主 |
发表于 2006-10-29 20:03:00
|
显示全部楼层
Re: 关于directx渲染到纹理的问题
有点懂你的意思了
但是我现在只有一层纹理,hlsl中执行的也是最简单的取样操作而已
为什么render出去还是有问题?下面是我的这一段代码,希望楼上高手指导,不胜感激
if( SUCCEEDED( g_pd3dDevice->BeginScene() ) )
{
g_pd3dDevice->SetRenderTarget( 0, pRenderSurface );
g_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET, 0xffffffff, 1.0f, 0 );
sortEffect->SetTechnique("sortTechnique");
g_pd3dDevice->SetStreamSource(0, Quad, 0, sizeof(Vertex));
g_pd3dDevice->SetFVF(Vertex::FVF);
unsigned int numPasses = 0;
sortEffect->Begin(&numPasses, 0);
for( int i = 0; i<numPasses; i++ )
{
sortEffect->BeginPass(i);
g_pd3dDevice->SetTransform(D3DTS_PROJECTION, &proj);
g_pd3dDevice->SetTexture(0, Tex);
g_pd3dDevice->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 2);
sortEffect->EndPass();
}
sortEffect->End();
///////////////////////////////////////
g_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET, 0xffffffff, 1.0f, 0 );
g_pd3dDevice->SetRenderTarget( 0, pBackBuffer );
g_pd3dDevice->SetTransform(D3DTS_PROJECTION, &proj);
g_pd3dDevice->SetTexture(0, pRenderTexture);
g_pd3dDevice->SetStreamSource(0, Quad, 0, sizeof(Vertex));
g_pd3dDevice->SetFVF(Vertex::FVF);
g_pd3dDevice->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 2);
g_pd3dDevice->EndScene();
g_pd3dDevice-> resent( NULL, NULL, NULL, NULL );
} |
|