Как загрузить текстуру на DirectX? - PullRequest
2 голосов
/ 09 января 2012

Я использую этот код для загрузки текстуры:

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

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

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

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

1 Ответ

3 голосов
/ 09 января 2012

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...