8,303
社区成员
发帖
与我相关
我的任务
分享
void RenderCubeTexture(LPDIRECT3DDEVICE pDevice3D , D3DXMATRIX* pViewMatrix[6] , D3DXMATRIX* pProjMatrix )
{
PDIRECT3DSURFACE9 pSur ;
pCubeTexture -> GetCubeMapSurface((D3DCUBEMAP_FACES) 0 , 0 , &pSur ) ;
pDevice3D -> SetRenderTarget( 0 , pSur ) ;
if ( pSur_DS ) pDevice3D -> SetDepthStencilSurface( pSur_DS ) ;
if(SUCCEEDED(g_pRenderToEnvMap ->BeginCube( pCubeTexture )))
{
for ( int j = 0 ; j < 6 ; j ++ )
{
g_pRenderToEnvMap ->Face( ( D3DCUBEMAP_FACES) j , D3DX_DEFAULT ) ;
pDevice3D->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DXCOLOR(1.f,1.f,1.f,1.f), 1.f, 0) ;//This is correct
RenderCubeScene( pDevice3D , pViewMatrix[j] , pProjMatrix ) ;
}
g_pRenderToEnvMap -> End( D3DX_FILTER_NONE ) ;
}
SAFE_RELEASE ( pSur ) ;
}
代码中的变量名比较直白,可能没什么异义,我没有再注释。
我把这个RenderCubeTexture函数插入主程序中去执行,在BeginScene()和EndScreen()之间它就老提示出错,我到处找原因,就找到了http://bbs.csdn.net/topics/350268459
于是我就把这个函数放到BeginScene()之前执行,它不再提示出错,看起来效果也不错,就是噪点无法容忍。
我现在都不知道该怀疑什么了。请楼上费心审查指教。谢谢!