У меня странная проблема, сбой происходит в случайное время, например, мне удалось какое-то время использовать 3d-приложение без сбоев, затем в большинстве случаев оно вылетало всегда, когда я неожиданно рендерил много объектов одновременно,
Недавно я заметил, что изменение огромной текстурной поверхности на этой карте ATI приведет к поломке всего моего компьютера при использовании огромных размеров текстур и их большого количества и переключении с одного на другое в одном кадре.Так что есть вероятность, что я сломал карту ATI или просто глючил.Но это невозможно, так как я недавно добавил некоторый код, и теперь я впервые заметил этот сбой.Я не использовал никаких специальных вызовов opengl, просто старый добрый glbegin () glend () glcolor () и т. Д. *
Если я закомментирую строку, в которой она вылетала ранее, например glBegin (GL_QUADS) ... glEnd () Затем в следующий раз я получаю сбой при вызове другой функции openGL в другом месте моего кода, например, glColor4f (), а затем я закомментирую это, и следующий сбой я получу в glClear () в совершенно другой частикод рендеринга!
Что может быть причиной этого?Я использую карту ATI, и я знаю, что некоторые вызовы opengl могут привести к сбою программы, если они используют неправильные значения, например, glLineWidth (4) приведет к сбою некоторых карт ATI в произвольной строке кода openGL, поскольку максимальная ширина строки равна 3!
Редактировать:
Когда я запускаю программу в режиме отладки с ApplicationVerifier, она выдает мне следующую строку:
if(!(PixelFormat = ChoosePixelFormat(hDC, &pfd))){
Я не понимаю, что может быть не так в этом?
пфд:
static PIXELFORMATDESCRIPTOR pfd = {
// *correct amount of elements*
};