2011-09-28 14 views
14

¿Cuál es la diferencia entre las funciones glGenBuffers()/glBufferData()/etc, y las funciones con ARB adjuntas al nombre de función glGenBuffersARB()/glBufferDataARB()/etc. Intenté buscar, pero nadie señala la diferencia, simplemente usan uno o el otro.OpenGL: glGenBuffer vs glGenBuffersARB

Además, ¿es común que alguna función no esté disponible en algunas computadoras? ¿Cuál es la forma más común de sortear ese tipo de situación sin volver al modo inmediato?

Respuesta

20

glGenBuffers() es una función OpenGL básica en OpenGL 1.5 y posterior; glGenBuffersARB() era una extensión que implementaba la misma funcionalidad en versiones anteriores.

A menos que esté desarrollando para un sistema antiguo, ya no hay ningún motivo para usar la extensión ARB.

+2

glGetString (GL_VERSION) puede obtener la versión de OGL compatible. No debe preocuparse por la compatibilidad 1.5 y 2.0: las versiones más nuevas de OpenGL, 3.0 y 4.0, causan problemas mucho más grandes. – Pubby

+0

@ Pubby8, Duskwuff - ¡gracias! –