고정 기능 파이프 라인 (쉐이더 또는 효과 파일 없음)으로 DirectX9에서 스카이 박스를 렌더링하려고합니다. 큐브 렌더링을 볼 수 있습니다. 텍스처를 설정하면 모든 얼굴이 하나의 이상한 색상 (흰색 또는 공백이 아닌)으로 그려집니다. 텍스처 파일이 올바른 큐브 맵입니다. 일부 텍스처 설정이 설정되지 않았다고 생각합니다. 아래 코드는 Skybox 텍스처가 DirectX9에 표시되지 않습니다.
apiResult = D3DXCreateCubeTextureFromFile(g_pd3dDevice,L"cubeMap.dds",&g_pTexture);
두 API
HRESULT apiResult = D3DXCreateBox(g_pd3dDevice,1,1,1,&g_pMesh,NULL);
// for creating the cube and the cube texture
// 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);
보내고있어?
프로그래밍 가능한 파이프 라인을 사용하지 않는 이유는 무엇입니까? – derpface
@uberwulu : HLSL을 사용하여 성공적으로 수행했는데 고정 기능에서 무엇이 잘못되었는지 확인해야합니다. – control