新学D3D,调函数画个茶壶,似乎有点问题
用D3DXCreateTeapot()画个茶壶,之后做旋转时发现,即使茶壶盖转到下面,依然能透过茶壶身子看到它,
d3ddp.EnableAutoDepthStencil = TRUE;
d3ddp.AutoDepthStencilFormat = D3DFMT_D16;
g_pd3dDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_CW);
g_pd3dDevice->SetRenderState(D3DRS_ZENABLE, TRUE);
这几句都加了,依然不起作用。(不加时连壶嘴转到背面都能看到,加后壶嘴看不到,壶盖依然可见)。
求解。另:OpenGL画茶壶没有出现这种情况。
[解决办法]
d3ddp.BackBufferFormat = D3DFMT_UNKNOWN;
d3ddp.EnableAutoDepthStencil = TRUE;
d3ddp.AutoDepthStencilFormat = D3DFMT_D16;
这里有问题
void Render(void)
{
g_teapot->DrawSubset(0);
}
子集画4次
晚上空了帮你看看