Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Я не понимаю что происходит: камера на углах Эйлера (4 стр)

Я не понимаю что происходит: камера на углах Эйлера (4 стр)

Страницы: 1 2 3 4 5 6 Следующая »
entrywayПостоялецwww11 июня 201823:56#45
MrShoor
Забавно, что если std::endl заменить на "\n" или удалить, то оптимизация:
+ Показать

резко перестает срабатывать, и цикл заканчивается на 4й итерации

Правка: 11 июня 2018 23:59

ArochПостоялецwww12 июня 20180:01#46
IBets
> В код я сделал вот такое изменение и все заробило
зачем тебе Poll? У тебя ввод не буферезированный судя по тому что ты используешь GetDeviceState.
for(int i=0; i<1; i++)
{
  HRESULT hr = p_Device->GetDeviceState( sizeof(DIMOUSESTATE2), &ms2 );
  if(hr != DI_OK && (hr == DIERR_NOTACQUIRED || hr == DIERR_INPUTLOST))
    if(DI_OK == (p_Device->Acquire()))
      i--;
}
DelfigamerПостоялецwww12 июня 20180:02#47
IBets
> Ну статическим анализатором надо прогнать. Я думаю у меня ошибка в шаблонах
> где-то, но компилятор все равно создал код. Такое бывает. Но все равно все
> очень странно потому что я без перекомпиляции запускаю .exe. И он всегда ведет
> себя по разному. То FPS низкий, то черный экран, то Error SwapChain->Present,
> то стабильная работа
Ну так очевидные признаки UB же.
Попробуй повыключать части программы, чтобы хотя бы примерно найти участок, в котором ошибся. Тогда будешь хотя бы знать, на какую процедуру обратить внимание в первую очередь.
Ну или да, можно ещё навесить всяких отладчиков. Помнится, пример в #30 я ловил с использованием Global Flags. Есть ещё Valgrind, но он как-то нетривиально включается, и я им не пользовался.

entryway
¯\_ツ_/¯ Undefined behavior, он на то и undefined, что на него не накладывается никаких ограничений. Иногда, он даже делает именно то, чего ты хотел.

Правка: 12 июня 2018 0:05

ArochПостоялецwww12 июня 20180:04#48
IBets
> И он всегда ведет себя по разному. То FPS низкий, то черный экран, то Error
> SwapChain->Present, то стабильная работа
>
не инициализированные переменные.

Правка: 12 июня 2018 0:04

innuendoПостоялецwww12 июня 20180:05#49
IBets
> блокноте только на Python писать можно

а какое есть UB в Python?

IBetsПользовательwww12 июня 20180:05#50
Aroch
SDK D3D11 там так
DelfigamerПостоялецwww12 июня 20180:08#51
Aroch
> не инициализированные переменные.
Ну я надеюсь, ИБетс уже догадался скомпилировать и запустить свою программу в профиле "Debug", где компилятор самостоятельно инициализирует все переменные всякими 0xcccccccc, чтобы подобное безобразие сразу же падало на segfault.
Ведь догадался же?
IBetsПользовательwww12 июня 20180:11#52
Delfigamer
Естественно.

Правка: 12 июня 2018 0:12

ArochПостоялецwww12 июня 20180:13#53
Delfigamer
> чтобы подобное безобразие сразу же падало на segfault.
да в том и дело что не факт что будет падать, если там зависимость не явная.
ArochПостоялецwww12 июня 20180:15#54
IBets
> SDK D3D11 там так
причем тут D3D и DirectInput? И в 11 sdk все еще используется directinput8 который нет смысла обновлять.

Правка: 12 июня 2018 0:16

IBetsПользовательwww12 июня 20180:16#55
Aroch
Дело мне кажется в D3D11 из-за порядка вызовов. Я когда-то случайно неверные данные дал у меня BSOD был, я повторил и снова BSOD ну и т.д.
IBetsПользовательwww12 июня 20180:17#56
Aroch
Я исправил косяк с DirectInput возник новый смотри про SwapChain пост
ArochПостоялецwww12 июня 20180:19#57
IBets
Если случай тяжелый и все запущенно, то тебе уже сказали, вырубай куски кода пока баг не пропадет, после чего постепенно добавляешь обратно локализуя проблему.
IBetsПользовательwww12 июня 20180:20#58
Aroch
Да я так и делаю. Я вывожу LightVolume там косяк походу

Правка: 12 июня 2018 0:20

ArochПостоялецwww12 июня 20180:20#59
IBets
> Я исправил косяк с DirectInput возник новый смотри про SwapChain пост
его и не было там, от того что у тебя девайс пробыл бы не захваченным 1 лишний update погоды вообще бы не сделало.
Страницы: 1 2 3 4 5 6 Следующая »

/ Форум / Программирование игр / Графика

2001—2018 © GameDev.ru — Разработка игр