(Zdefiniuj makro, aby) ułatwić debugowanie poleceń OpenGL?

Czasami wkładanie odbitek warunkowych i sprawdzanie ich zajmuje dużo czasuglGetError() zawężenie przy użyciu wyszukiwania binarnego, w którym pierwsze wywołanie funkcji polega na tym, że OpenGL po raz pierwszy zgłosił błąd.

Myślę, że byłoby fajnie, gdyby istniał sposób na zbudowanie makra, które mogę zawinąć wokół wszystkich wywołań GL, które mogą się nie powieść, co warunkowo wywołaglGetError natychmiast po. Podczas kompilowania specjalnego celu mogę go sprawdzićglGetError przy bardzo wysokiej ziarnistości, podczas kompilacji dla typowego wydania lub debugowania nie byłoby to włączone (sprawdziłbym to tylko raz w ramce).

Czy to ma sens? Szukając tego trochę znalazłem kilka osób polecających dzwonienieglGetError po każdym nie-rysującym gl-call, który jest w zasadzie tym samym, co opisuję.

Czy w tym przypadku jest coś mądrego, co mogę zrobić (kontekst: używam GLEW), aby uprościć proces instrumentowania moich połączeń w ten sposób? Konwersja mojego kodu w celu zawinięcia makra wokół każdego wywołania funkcji OpenGL byłaby znaczna. Byłoby wspaniale, gdybym potrafił zrobić coś mądrego i zrobić to wszystko bez ręcznego określania, które sekcje kodu są instrumentem (choć ma to również potencjalne zalety ... ale nie do końca. Inaprawdę nie przejmuj się wydajnością, gdy debuguję źródło błędu).

questionAnswers(2)

yourAnswerToTheQuestion