¿Hay algún buen tutorial que muestre la diferencia entre OpenGL 1. * y 2. *?
Sería muy útil saber qué funciones debería no estar llamando (como glBegin (), supongo).
¿Hay algún buen tutorial que muestre la diferencia entre OpenGL 1. * y 2. *?
Sería muy útil saber qué funciones debería no estar llamando (como glBegin (), supongo).
Respuestas:
La página de inicio de OpenGL.org tiene una descripción general, con muchos enlaces a varios tutoriales.
En resumen, OpenGL 2.0 vive entre la función fija (1.x) y el mundo totalmente programable (2.x +); aún puede usar todo lo que OpenGL 1.x tiene, mientras agrega sombreadores. Sin embargo, en el futuro (3.x +), todo tipo de sistemas de funciones fijas antiguos comienzan a quedar obsoletos, por lo que puede ser mejor tener un inicio limpio en lugar de mezclar ambos mundos.
También me sorprende que esto no se haya preguntado antes ... o al menos no pude encontrarlo en una búsqueda rápida.
Las versiones de OpenGL, en general, no son como las versiones de Direct3D. Su antiguo código aún funciona con las nuevas versiones (con una excepción). Por lo tanto, OpenGL v1.4 funcionará bien bajo OpenGL 2.1. Las versiones de OpenGL son adiciones, no restas.
OpenGL 2.0 y 2.1 agregan sombreadores, en el lenguaje de sombreado OpenGL. También agregan varias otras características, como texturas de punto flotante, texturas sin potencia de dos, etc. La lista completa está disponible en la propia especificación OpenGL 2.1 . Solo mire las secciones de "Versión"; Te dirán lo que cambió con respecto a la versión anterior.
La única excepción a la regla sobre los cambios de API es OpenGL 3.1 (sí, 3.1, no 3.0). En OpenGL 3.0, varias API se designaron como "obsoletas". Esto significa que el ARB, el comité a cargo de OpenGL, podría eliminar estas funciones de versiones posteriores. Esta eliminación ocurrió en OpenGL 3.1. La especificación 3.0 tiene una gran lista de cosas en desuso, y la especificación 3.1 se recorta en consecuencia.
Tenga en cuenta que no tiene que preocuparse (al menos en Windows y Linux. MacOSX es diferente). Puede funcionar bien en modo " compatibilidad ", donde todas las características eliminadas anteriormente regresan. Las implementaciones de OpenGL no tienen que admitir contextos de compatibilidad (y Mac OS X Lion no. Es compatible con el núcleo 2.1 o 3.2, a petición), pero todos lo hacen. Solo por compatibilidad con aplicaciones anteriores.
Creo que hay tutoriales para opengl 1.xy 2.x, pero lo más probable es que no haya tutoriales que muestren cómo son diferentes con características o facilidad de uso, etc.
Puede ser mejor buscar tutoriales para la versión específica de opengl, encontrar tutoriales similares y compararlos usted mismo.