вторник, 18 января 2011 г.

Трындец.

Почти с самого начала работы над С++ движком (как только решил на С++ перейти с C#) у меня были постоянные проблемы, постоянно что-то отваливалось и еэто "что-то" сильно мешало работать.

Но, УРА, я нашёл причину бага ) Закомментил весь проект, потом раскомментил, и ещё несколько раз закомментил -пытался локализовать баг - ххренушки. Нашёлся в самом неожиданном для меня месте, в загрузке уровня о_О Классический FAIL - вышел за пределы массива.

Теперь всё работает стабильно, можно НАКОНЕЦТО продолжить добавлять фичи в движжок )

по порядку буду добавлять:

1. огромный ландшафт
2. динамическое небо (light scattering)
3. рендеринг густой лесной растительности (деревья, трава)
4. системы частиц
5. GUI

Ща надо хотябы начать ландшафт а то как-то стрёмно идти спать : )

5 комментариев:

  1. Ты 100% времени убиваешь в этот проект ?

    ОтветитьУдалить
  2. Используй _heapchk() при поиске ошибки. Очень помогает.

    ОтветитьУдалить
  3. PJ

    нет конечно, только 99% : )


    Andrey - спасибо, попробую, если понадобится. А вообще есть желание написать свой класс массива, чтобы в дебаге можно было делать проверки на выход за пределы массива.

    ОтветитьУдалить
  4. сделай себе темплейты статических и динамических массивов и перегрузи им оператор [], жизнь станет проще, на результат это не повлияет, так как все заинлайнится...

    ОтветитьУдалить
  5. Pushkoff

    ну я, впринципе, так и хочу сделать : )


    Только что допилил работу с геометрией ландшафта. тестовая сцена - строение, хрень анимированная 7 костями, кубик с отражениями и ландшафт 1024*1024 пока выдают в среднем 550 фпс. Нужно будет оптимизировать. (на ландшафте нет текстур - просто цвет возвращается)

    ОтветитьУдалить