2013-01-10 12 views
0

고정 기능 파이프 라인 (쉐이더 또는 효과 파일 없음)으로 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

가 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);

보내고있어?

+0

프로그래밍 가능한 파이프 라인을 사용하지 않는 이유는 무엇입니까? – derpface

+1

@uberwulu : HLSL을 사용하여 성공적으로 수행했는데 고정 기능에서 무엇이 잘못되었는지 확인해야합니다. – control

답변

0

전문가가 아니지만로드하는 이미지의 해상도를 낮춰보십시오. 한 번 비슷한 문제가 발생하여 이미지를로드 할 수 없다는 것을 알았습니다. 해상도가 너무 높습니다.

+1

힌트를 가져 주셔서 고맙겠지 만 프로그램 가능한 파이프 라인에서 사용할 때 같은 질감이 잘 작동하는 경우 이미지로드가 문제가되지 않습니다. – control

관련 문제