Почти с самого начала работы над С++ движком (как только решил на С++ перейти с C#) у меня были постоянные проблемы, постоянно что-то отваливалось и еэто "что-то" сильно мешало работать.
Но, УРА, я нашёл причину бага ) Закомментил весь проект, потом раскомментил, и ещё несколько раз закомментил -пытался локализовать баг - ххренушки. Нашёлся в самом неожиданном для меня месте, в загрузке уровня о_О Классический FAIL - вышел за пределы массива.
Теперь всё работает стабильно, можно НАКОНЕЦТО продолжить добавлять фичи в движжок )
по порядку буду добавлять:
1. огромный ландшафт
2. динамическое небо (light scattering)
3. рендеринг густой лесной растительности (деревья, трава)
4. системы частиц
5. GUI
Ща надо хотябы начать ландшафт а то как-то стрёмно идти спать : )
Ты 100% времени убиваешь в этот проект ?
ОтветитьУдалитьИспользуй _heapchk() при поиске ошибки. Очень помогает.
ОтветитьУдалитьPJ
ОтветитьУдалитьнет конечно, только 99% : )
Andrey - спасибо, попробую, если понадобится. А вообще есть желание написать свой класс массива, чтобы в дебаге можно было делать проверки на выход за пределы массива.
сделай себе темплейты статических и динамических массивов и перегрузи им оператор [], жизнь станет проще, на результат это не повлияет, так как все заинлайнится...
ОтветитьУдалитьPushkoff
ОтветитьУдалитьну я, впринципе, так и хочу сделать : )
Только что допилил работу с геометрией ландшафта. тестовая сцена - строение, хрень анимированная 7 костями, кубик с отражениями и ландшафт 1024*1024 пока выдают в среднем 550 фпс. Нужно будет оптимизировать. (на ландшафте нет текстур - просто цвет возвращается)