D3DXCreateTextureFromFile
|
|
error_132 | Дата: Воскресенье, 31 Июля 2011, 23:09 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| такая непонятная ситуация: загрузил текстуру, открыл ехешник, ничего не отрисовалось. попробовал запустить через иде - приложение тутже вырубилось. дальше запустил дебагер - он написал, что мол файл текстуры, который я гружу, не существует. написал код вот так (а вдруг): Code std::cout << "Loading" << std::endl; D3DXCreateTextureFromFile(pDevice, path, &Texture); std::cout << "Loaded" << std::endl; и тут пошло не пойми что, когда запустил через иде: в консоли написало только "Loading" (когда пробовал запустить дебаг тоже самое), а когда запустил ехешник написало "Loading" и "Loaded", но все равно ничего не отрисовалось, и почему запуск через иде и прост ехешник выдает разные результаты o_0
|
|
| |
zodiak | Дата: Понедельник, 01 Августа 2011, 10:09 | Сообщение # 2 |
постоянный участник
Сейчас нет на сайте
| Ну для начала проверь, что действительно файл на своем месте и правильно назначен рабочий каталог. Чему равна переменная path. Если там все ок, то правильного ли формата файл. Измени код
Code HRESULT hr = D3DXCreateTextureFromFile(pDevice, path, &Texture);
и в дебаге проверь, что она возвращает, а затем смотри справку.
Точка зору окремо взятого індивіда завжди суб'єктивна!
Взломщик Battle City.Net
|
|
| |
error_132 | Дата: Понедельник, 01 Августа 2011, 23:43 | Сообщение # 3 |
частый гость
Сейчас нет на сайте
| я не помню что вчера сделал, но работает все нормально, только ничего не отрисовывается( придется рендер сначала переписывать, а то в этой куче кода не разберешь где бяка, тем более что дебагер говорит, что все окДобавлено (01.08.2011, 23:43) --------------------------------------------- модеры, закройте тему, нашел я ту бяку которая все портила
|
|
| |
Demeron | Дата: Понедельник, 01 Августа 2011, 23:58 | Сообщение # 4 |
User created in C++
Сейчас нет на сайте
| Попробуй прописать полный путь до текстуры, например "C:\\test\\texture.png", а еще лучше что типо: Code if(FIALED(D3DXCreateTextureFromFile(pDevice, path, &Texture))) std::cout << "Can't Load Texture..." << std::endl; else std::cout << "Texture Load OK" << std::endl;
|
|
| |
error_132 | Дата: Среда, 03 Августа 2011, 12:06 | Сообщение # 5 |
частый гость
Сейчас нет на сайте
| с текстурами то я разобрался, точенее с тем что нифига не рисовалось - оказалось совсем забыл про нормали))) теперь вот в чем проблема: приложение почему-то работает только во время того, как нажимаю клавишы или вожу мышкой в окне, заметил эту фигню во время написания функции для счета фпс
Сообщение отредактировал error_132 - Среда, 03 Августа 2011, 12:07 |
|
| |
Demeron | Дата: Среда, 03 Августа 2011, 12:14 | Сообщение # 6 |
User created in C++
Сейчас нет на сайте
| Quote (error_132) приложение почему-то работает только во время того, как нажимаю клавишы или вожу мышкой в окне, заметил эту фигню во время написания функции для счета фпс Должно быть примерно так: Code while( msg.message!=WM_QUIT ) { if( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } else Render(); }
а у тебя скорее всего так:
Code while( msg.message!=WM_QUIT ) { if( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); Render(); }
Помогло?
|
|
| |
error_132 | Дата: Среда, 03 Августа 2011, 12:40 | Сообщение # 7 |
частый гость
Сейчас нет на сайте
| ща попробую, у меня через getmessage эта часть работает
|
|
| |
Demeron | Дата: Среда, 03 Августа 2011, 12:50 | Сообщение # 8 |
User created in C++
Сейчас нет на сайте
| Quote (error_132) ща попробую, у меня через getmessage эта часть работает один черт...
Я скорее всего уверен, что это из за этого, ведь у тебя выполняется главный цикл игры только когда приходят сообщения к твоему приложению.
|
|
| |
error_132 | Дата: Среда, 03 Августа 2011, 12:52 | Сообщение # 9 |
частый гость
Сейчас нет на сайте
| спасибо) точно - в том и проблема была)
|
|
| |
Demeron | Дата: Среда, 03 Августа 2011, 12:52 | Сообщение # 10 |
User created in C++
Сейчас нет на сайте
| С тебя +
|
|
| |
error_132 | Дата: Среда, 03 Августа 2011, 13:15 | Сообщение # 11 |
частый гость
Сейчас нет на сайте
| чет меня на баги прям прет)) такая фигня: когда поварачиваешься в любую сторону от стены градусов на 30 - она исчезаеет, хотя по сути есть место для отрисовки ее части (такая фигня только с 3 стнеками из 9) (кто-нибудь знает как сделать чтоб нельзя было менять размер окна?)
|
|
| |
Kornival | Дата: Среда, 03 Августа 2011, 13:29 | Сообщение # 12 |
The Witcher
Сейчас нет на сайте
| Quote (error_132) (кто-нибудь знает как сделать чтоб нельзя было менять размер окна?) Поставь стиль WS_SYSMENU вместо WS_OVERLAPPEDWINDOW когда вызываешь функцию CreateWindow
|
|
| |
error_132 | Дата: Среда, 03 Августа 2011, 13:32 | Сообщение # 13 |
частый гость
Сейчас нет на сайте
| Kornival, в этом то и трабла, у меня стоял WM_SYSMENU, и если скрыть окно, а потом снова разверенуть, то картинка дальше не рендерится, поэтому я поставил WS_OVERLAPPEDWINDOW, с ней все ок, только теперь меня бесит тот факт что можно изменять размер
Сообщение отредактировал error_132 - Среда, 03 Августа 2011, 13:33 |
|
| |
Kornival | Дата: Среда, 03 Августа 2011, 13:38 | Сообщение # 14 |
The Witcher
Сейчас нет на сайте
| Если нужно вообще убрать все кроме клиентской области поставь WS_POPUP Добавлено (03.08.2011, 13:35) ---------------------------------------------
Quote Если нужно вообще убрать все кроме клиентской области поставь WS_POPUP Это было написано вдогонку к первому посту. Quote Kornival, в этом то и трабла, у меня стоял WM_SYSMENU, и если скрыть окно, а потом снова разверенуть, то картинка дальше не рендерится, поэтому я поставил WS_OVERLAPPEDWINDOW, с ней все ок, только теперь меня бусит тот факт что можно изменять размер Попробуй в ответ на сообщение WM_SIZE вызывать InvalidateRectДобавлено (03.08.2011, 13:38) --------------------------------------------- Cтоп! Как же ты его скрываешь если стоит WS_SYSMENU?
|
|
| |
error_132 | Дата: Среда, 03 Августа 2011, 13:49 | Сообщение # 15 |
частый гость
Сейчас нет на сайте
| Kornival, например запущу другую прогу - окно сразу скрывается Добавлено (03.08.2011, 13:49) --------------------------------------------- точнее оно не скрывается, а уходит на второй план, но это проблемы не меняет, все равно ееееепрекращает отрисовывать
Сообщение отредактировал error_132 - Среда, 03 Августа 2011, 13:48 |
|
| |
Demeron | Дата: Среда, 03 Августа 2011, 15:08 | Сообщение # 16 |
User created in C++
Сейчас нет на сайте
| Quote (error_132) Kornival, в этом то и трабла, у меня стоял WM_SYSMENU, и если скрыть окно, а потом снова разверенуть, то картинка дальше не рендерится Для оконного режима: WS_SYSMENU|WS_CAPTION|WS_MINIMIZEBOX (последнее чтобы можно было сворачивать) Для полноэкранного: WS_POPUP (и все!)
А насчет того что картинка перестает рендериться - копай в сторону LostDevice и ResetDevice, если нет - могу скинуть код.
|
|
| |
error_132 | Дата: Среда, 03 Августа 2011, 17:12 | Сообщение # 17 |
частый гость
Сейчас нет на сайте
| Demeron, опять помог)) спс)
|
|
| |