|
|
分别调用用来绘制环境到立方体贴图上的以下三个函数,用HRESULT检查全都出错,但所有的参考资料上都是这么写的,我几乎一个字不差的照抄,但就是不行,请高手们告知原因
//申明环境贴图接口
ID3DXRenderToEnvMap* m_pRenderToEnvMap;
IDirect3DCubeTexture9* m_pCubeTex;
//函数的调用
hr = m_pRenderToEnvMap->BeginCube(m_pCubeTex);
SHOWHr(hr,L"m_pRenderToEnvMap->BeginCube出错");
for(int i = 0;i < 6; i++)
{
hr = m_pRenderToEnvMap->Face((D3DCUBEMAP_FACES)i,0);
SHOWHr(hr,L"m_pRenderToEnvMap->Face出错");
}
hr = m_pRenderToEnvMap->End(0);
SHOWHr(hr,L"End失败");
在之前的创建m_pRenderToEnvMap和m_pCubeTex都成功,
以上三个函数报错的顺序是
1.hr = m_pRenderToEnvMap->Face((D3DCUBEMAP_FACES)i,0);
2.hr = m_pRenderToEnvMap->End(0);(报错后的给与的信息是D3DX: End called without first calling Begin)
3.hr = m_pRenderToEnvMap->BeginCube(m_pCubeTex);(此函数为最先执行,第一次成功,但由于END函数出错,导致下一次的调用失败,D3DX: BeginCube called inside a scene);
谁对环境立方体映射熟悉的请指点一二.最好能给一个相关的源代码例子,我在网上找了一圈都没找到代码例子.
|
|