2012-01-09 3 views
2

Im используя этот код для загрузки текстуры:Как загрузить текстуру на DirectX?

HRESULT hr = D3DXCreateTextureFromFile(d3ddev, "test.bmp", &g_texture); 

Но он всегда возвращает D3DXERR_INVALIDDATA ошибку!

Треугольник, который я обрабатываю, отлично работает, поэтому остальная часть программы работает, за исключением загрузки текстуры.

Что я пропустил? файл существует наверняка. Я попытался с jpg и png, а также с меньшим изображением размером 256x256. изображение прекрасно работает со мной, поэтому он не может быть недопустимым, даже если он так говорит.

ответ

3

Скорее всего, даже несмотря на то, что файл доступен, он не находится в правильном пути для доступа к программе.

Если вы используете свою программу из Visual Studio, убедитесь, что рабочий каталог указывает на папку, содержащую ваш test.bmp. К сожалению, расположение этой настройки сильно меняется между различными версиями VS, но в VS 2005 это Project->Properties->Debugging->Working Directory. Убедитесь, что у вас одинаковые настройки для режима Debug и Release.

Вы можете проверить свой текущий каталог с помощью кода GetCurrentDirectory.

+0

Отлично! Вот и все. это, вероятно, спасло мне часы отладки! благодаря! – Rookie

Смежные вопросы