Я пытаюсь отобразить скайбокс в DirectX9 с фиксированным конвейером функций (без шейдера или файла эффекта). Я могу просмотреть рендеринг куба. Когда я устанавливаю текстуру, все грани окрашиваются одним странным цветом (не белым и не пустым). Файл текстуры - это правильная кубическая карта. Я думаю, что некоторые настройки текстуры не установлены. Ниже приведен фрагмент кода
// for creating the cube and the cube texture
HRESULT apiResult = D3DXCreateBox(g_pd3dDevice,1,1,1,&g_pMesh,NULL);
apiResult = D3DXCreateCubeTextureFromFile(g_pd3dDevice,L"cubeMap.dds",&g_pTexture);
оба API возвращают S_OK.
// for renderin the skybox
g_pd3dDevice->SetSamplerState(0,D3DSAMP_MIPFILTER,D3DTEXF_LINEAR);
g_pd3dDevice->SetSamplerState(0,D3DSAMP_MAGFILTER,D3DTEXF_LINEAR);
g_pd3dDevice->SetSamplerState(0,D3DSAMP_MINFILTER,D3DTEXF_LINEAR);
// set texture
g_pd3dDevice->SetTexture(0,g_pTexture);
// Begin the scene
if( SUCCEEDED( g_pd3dDevice->BeginScene() ) )
{
g_pMesh->DrawSubset(0);
g_pd3dDevice->EndScene();
}
// Present the backbuffer contents to the display
g_pd3dDevice->Present( NULL, NULL, NULL, NULL );
Какая настройка отсутствует?