diferencias entre opengl 3 y opengl 4


10

Recién estoy comenzando con la programación de juegos y quiero comenzar a aprender opengl. Encontré un gran tutorial desde cero para comenzar con opengl 3 y me pregunto si hay una gran diferencia entre openGL 3 y openGl 4. O debería preguntar, ¿openGL 4 hace que openGL 3 sea obsoleto, o puedo comenzar con ¿OpenGL 3 y luego puedo pasar a OpenGL 4?

Respuestas:


12

Comenzaré esto vinculando a una explicación de cómo funcionan las versiones de OpenGL . En resumen, OpenGL (generalmente) es compatible con versiones anteriores, por lo que todo el código GL 3 funciona bien en implementaciones GL 4.

La serie 4.x de versiones de OpenGL representa lo que se podría llamar hardware de clase "Direct3D 11". Expone la funcionalidad de ese hardware. El hardware D3D10 está representado por las versiones 3.x de OpenGL. Por lo tanto, "pasar a openGL 4" significa abandonar el hardware inferior o tener múltiples vías de representación.

Un desglose detallado de los cambios de características reales entre 3.3 y 4.2 se puede encontrar en la especificación 4.2 . Tenga en cuenta que muchas características (objetos de sombreado separados, paquete de sombreado_420, almacenamiento de texturas) no están restringidas al hardware 4.x; son cambios de API y puede acceder a ellos en hardware 3.x a través de extensiones.

La pregunta más destacada es esta: ¿qué me permite hacer GL 4.x que no puedo con el hardware 3.x?

La teselación es probablemente la característica más conocida. También es probablemente el menos útil en general. Eso no quiere decir que sea inútil; El uso adecuado de la teselación puede mejorar los detalles en los modelos. Pero para mí, al menos, no es realmente lo mejor que GL 4 tiene a su favor.

Las subrutinas de sombreado son una idea interesante. Básicamente, esto le permite unir dinámicamente diferentes fragmentos de sombreadores. Puede adjuntar más o menos una función a un punto de enlace específico en un programa. La especificación es un poco difícil de seguir, pero es una buena funcionalidad.

Yo diría que la carga / almacenamiento de imágenes es probablemente el bit más olvidado y, sin embargo, el más potente de la funcionalidad GL 4. Con él, tiene la capacidad de implementar una transparencia independiente del orden con un rendimiento tan bueno como el que obtendrá la OIT. Probablemente hay muchos otros usos para la carga / almacenamiento de imágenes, pero se necesitarán personas más inteligentes para descubrirlos.

Hay algunas probabilidades y termina en GL 4. Cosas como soporte de doble precisión y renderizado indirecto. Estas son más cosas de estilo GPGPU, por lo que probablemente no serán de mucha utilidad en un juego.

Pero en general, GL 4 no cambia radicalmente la forma en que implementa la función X desde GL 3.


Solo tengo que decir que está completamente equivocado al decir que el renderizado indirecto es 'cosas de estilo GPGPU'. Es un gran aumento de rendimiento para cualquier procesador que de otra forma haría muchas llamadas desde la CPU y es una gran característica para los juegos.
CoffeeandCode
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.