Название: glGetError Отправлено: Igors от Сентябрь 29, 2012, 13:55 Добрый день
Ф-ция glGetError возвращает последнюю ошибку. Т.е. мне надо поймать вызов на котором ошибка возникает. Беда в том что код настолько велик что просто так (налепив вызовов glGetError) я это сделать не смог. "Делить отрезок пополам" тоже не выходит т.к. масса вызовов через eventLoop. Стал искать как пристроить callback чтобы выскочить на точку ошибки. Ну вроде нужно extension "GL_ARB_debug_output". Однако на обоих моих картах такого нет :'( Карты скромные но не такие уж старые. Надыбал примерчик (http://www.google.com.ua/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&ved=0CCwQFjAB&url=http%3A%2F%2Fsites.google.com%2Fsite%2Fopengltutorialsbyaks%2Fintroduction-to-opengl-4-1---tutorial-05&ei=-dBmUM2ZC4iztAaUrIDQBQ&usg=AFQjCNGBI-JsBH9MMvKQoXqW2O_Y3s4hrQ&sig2=DjVo1A7Mw4sdSjLWbcPxNA) - проблема только под Вындоуз, меня бы устроило, но все GetProcAddress возвращают NULL :'( Какие есть предложения ? Спасибо Название: Re: glGetError Отправлено: navrocky от Сентябрь 30, 2012, 15:52 Это расширение, судя по всему, далеко не везде поддерживается:
http://www.gamedev.ru/community/ogl/forum/?id=140096 Но с работающим расширением, говорят пользы тоже немного: Цитировать Сейчас установлены 260.99 - все работает. При ошибке попадает в callback. Но пользы от этого немного, как я писал уже, это происходит в потоке драйвера и нельзя узнать место где произошла ошибка и подробностей тоже. Вообще, по хорошему, надо было написать некий макрос типа glCheck() и оборачивать все вызовы opengl. Второй вариант не менее муторный - написать свою динамическую библиотеку-обёртку над opengl %) |