2011-09-28 8 views
14

co stanowi różnicę między funkcjami glGenBuffers()/glBufferData()/etc, i funkcji ARB załączonych do opisu funkcji glGenBuffersARB()/glBufferDataARB()/itp. Próbowałem przeszukiwać, ale nikt nigdy nie zwraca uwagi na różnicę, po prostu używają jednego lub drugiego.OpenGL: glGenBuffer vs glGenBuffersARB

Czy na niektórych komputerach funkcja jest niedostępna? Jaki jest najczęstszy sposób na obejście tego rodzaju sytuacji bez powrotu do trybu natychmiastowego?

Odpowiedz

20

glGenBuffers() to podstawowa funkcja OpenGL w OpenGL 1.5 i nowszych wersjach; glGenBuffersARB() to rozszerzenie implementujące tę samą funkcjonalność we wcześniejszych wersjach.

Jeśli nie tworzysz starego systemu, nie ma już powodu, aby używać rozszerzenia ARB.

+2

glGetString (GL_VERSION) może uzyskać wersję OGL obsługiwaną. Nie powinieneś się martwić o kompatybilność z wersją 1.5 i 2.0 - nowsze wersje OpenGL, 3.0 i 4.0 powodują znacznie większe problemy. – Pubby

+0

@ Pubby8, Duskwuff - dziękuję! –