я ошибка пойманной что именно это:OpenGL жалуется на использование перечислений
Source=DEBUG_SOURCE_API Type=DEBUG_TYPE_ERROR ID=3200 Severity=DEBUG_SEVERITY_HIGH Message=Using glGetIntegerv in a Core context with parameter <pname> and enum '0xbb1' which was removed from Core OpenGL (GL_INVALID_ENUM)
Source=DEBUG_SOURCE_API Type=DEBUG_TYPE_ERROR ID=3200 Severity=DEBUG_SEVERITY_HIGH Message=Using glGetIntegerv in a Core context with parameter <pname> and enum '0xd3b' which was removed from Core OpenGL (GL_INVALID_ENUM)
OpenGL error occured: A GLenum argument was out of range.
Это первый раз появилась эта ошибка, и первый я думал, что я использую то, что больше не существует, но я узнал, что эти ценности даже не существуют в моих заголовках.
CLIENT_ATTRIB_STACK_DEPTH = 0xbb1
MAX_CLIENT_ATTRIB_STACK_DEPTH = 0xd3b
Однако после некоторых дополнительных исследований я обнаружил, что его даже более странным, чем я думал, потому что у меня есть что-то в моем коде, который останавливает отладчик в отладочной версии, когда произошла ошибка OpenGL.
#if DEBUG
Debug.HoldOnGLError();
#endif
Это вставляется после каждого вызова OpenGL, но это не останавливает на glGetIntegerv
, его остановку при случайном методе в основном некоторые glBindBuffer
или glBindFramebuffer
.
Я не знаю, почему возникают ошибки и будут рады любой идее.
Редактировать
Забыл упомянуть, что ошибка только появляется через какое-то время и только в режиме отладки в Visual Studio.
Вы используете какие-то рамки, которые могли бы выполнять эти звонки? Это может помочь, если вы можете предоставить более подробную информацию о используемой платформе/среде/инструментах. В любом случае, если проверка ошибки запускается при первом вызове OpenGL, вы можете обойти его, вызвав 'glGetError()', чтобы сначала очистить состояние ошибки. –
На самом деле мой собственный фреймворк, который отлично работает больше всего времени. Это C# с собственным заголовком. Использование Windows 7, AMD R9 290. Проблема заключается в том, что вызов появляется случайным образом при разных методах, которые вообще не делают значимости, а также не помогают при отладке. –
Серьезно, кто это был, кто голосовал, чтобы закрыть этот вопрос? Это совершенно правильный вопрос OpenGL. Это не жалоба «мой код не работает». Ребята, если вы не поймете вопрос или, в случае сомнений, просто оставьте его. - ** Приобретено, потому что действительный вопрос по вопросу, который могут совершить и другие люди, и мы хотим, чтобы они нашли это и ответ, набрав его в поисковой системе выбора.** – datenwolf