figuras - ¿Es mejor omitir OpenGL 2.X y comenzar a aprender OpenGL 3.X?
opengl tutorial (6)
Son casi totalmente compatibles con versiones anteriores, por lo que todo lo que aprenda con una versión anterior se va a aplicar a las versiones posteriores sin problemas. Si tiene que ''apuntar'' en algún lugar en particular, 2.0 es probablemente una buena opción. Si mira la página de OpenGL Wikipedia , puede ver qué se agregó a las distintas versiones y decidir por sí mismo qué características cree que necesitará.
¿Hay grandes diferencias en OpenGL 3.x vs 2.x? ¿Es una pérdida de tiempo aprender OpenGL 2.x o ambos siguen el mismo concepto? Creo que leí en alguna parte que 2.x estaba basado en un estado y que 3.x no, ¿es correcto?
Ten cuidado. OpenGL 3 elimina muchas funciones, especialmente las de los primeros días de OpenGL. Si comienza con tutoriales desactualizados (como la mayoría de NeHe), probablemente se acostumbrará a un estilo obsoleto de OpenGL 2.
No hay una línea de función fija en OpenGL 3 (si no usa las características de compatibilidad con versiones anteriores). Tienes que usar shaders. Ya no hay glBegin / glEnd. Tienes que usar buffers de vértices. Ambos ya están disponibles en OpenGL 2, pero la mayoría de los tutoriales comienzan con glBegin / glEnd y establecen propiedades de color OpenGL. Esta es una diferencia muy importante.
OpenGL 2 ofrece innumerables formas de poner algo en la pantalla, cada uno de los cuales está cubierto en al menos un tutorial popular. OpenGL 3 elimina muchos de ellos, incluido el "subconjunto de principiantes" de OpenGL 2 (función fija glBegin / glEnd). Entonces, si desea apuntar a OpenGL 3 a largo plazo, hágalo desde el principio. No hay nada más desmotivante que estar atrapado en un callejón sin salida.
Estoy leyendo "Learning Modern 3D Graphics Programming", y aunque todavía no tengo hardware para usar OpenGL 3, me está ayudando a tener los conceptos claros en mi mente, así que debería poder abandonar el estilo 1.1 y moverme a 3 una vez que tengo hardware para trabajar.
Aprenda lo que tenga más materiales de aprendizaje escritos al respecto. Los tutoriales de NeHe son un buen lugar para comenzar.
Hice un poco de trabajo OpenGL hace unos meses, y aunque no recuerdo la versión que estaba programando, puedo decir que son los conceptos más importantes. Esto es especialmente cierto cuando recién estás comenzando y no lidias con shaders y otras cosas.
(Ver respuesta de Malte Clasen.)
Encuentro este tutorial muy fácil de seguir y usar, y es para OpenGL 3 http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Table-of-Contents.html . Otros tutoriales que puede encontrar útiles:
Creo que el estilo moderno del shader only es el futuro de OpenGL y los gráficos en 3D en tiempo real. Sugeriría comenzar con OpenGL 3 de inmediato. Por otro lado, el viejo estilo obsoleto OpenGL es más fácil de aprender y es más fácil hacer cosas simples, sin entender todo el API.
Pero no importa si omite la función fija de estilo antiguo o si usa Direct3D u OpenGL, es importante que también comprenda los principios y el funcionamiento interno de una interconexión de gráficos, ya que a menudo (no siempre) veo personas, que tienen preguntas sobre OpenGL y por qué su código no funciona y parecen no tener idea acerca de los gráficos por computadora y lo que las funciones respectivas de OpenGL realmente significan.
EDITAR: También, eche un vistazo a esta pregunta para algunas recomendaciones de libros, dependiendo de su decisión.