Xfile을 기본 메인 파일에 있을 때 텍스쳐가 잘 불러와 지다가 파일들을
한 폴더에 몰아 넣고서 폴더 경로를 지정해 줄때 파일은 읽어 지는데
텍스쳐 파일이 안 넘어 올때가 있다.
그 이유는 D3DXLoadMeshFromX에서는 잘 읽어 오는데 D3DXCreateTextureFromFile에서 전체 경로를 읽어오지 못하고 파일 이름으로만 읽어져서 문제가 생긴다. 이 경우 폴더 경로를 모두 읽을수 있도록 파일 경로를 수정하여 위치를 지정해 주어야 한다.
예) "project\\skysphere.x"
위의 경로를 텍스쳐 에서는 skysphere만 들어 오기 떄문에 파일 앞의 경로까지 읽어 위치를 찾고난 후 path에 저장한다.
int lastSlash = filename.find_last_of( '\\' );
std::string path = filename.substr( 0, lastSlash + 1 );
std::string texturePath = path + mtrls[i].pTextureFilename;
D3DXCreateTextureFromFile( m_Device, texturePath.c_str(),
&tex);
다음과 같이 수정 해주면 텍스쳐 파일이 읽어올 수 있다.
'Programming Tip' 카테고리의 다른 글
GetAsyncKeyState 함수 일정 시간 간격으로 입력 받기 (0) | 2011.03.02 |
---|---|
#ifndef 와 #pragma once 의 차이점 (0) | 2011.03.02 |