2012-08-30 14 views
5

Estoy escribiendo una aplicación mac que dibuja parte de su interfaz de usuario en NSOpenGLView utilizando OpenGL con el perfil heredado.¿Todas las Mac con Lion admiten OpenGL 3.2?

Mi aplicación está dirigida a OS X 10.7 y posterior.

Si migro a OpenGL 3.2, ¿evitaría que algunos usuarios con Lion lo ejecuten, o todas las Mac con Lion admiten OpenGL 3.2 de todos modos?

Respuesta

5

El SDK de OS X 10.7 incluye el perfil principal de OpenGL 3.2, pero el soporte de tiempo de ejecución real requiere la presencia de una GPU compatible con OpenGL 3.2 y un controlador.

OpenGL 3.2 fue lanzado en 2008 y OS X 10.7 Lion es compatible con ciertos modelos de Mac que datan de 2006. El último 2006 Core 2 Duo MacBook Pro ejecuta Lion y tiene una ATI Mobility Radeon X1600 que es una GPU OpenGL 2.0.

Con ese solo ejemplo se muestra que el conjunto de computadoras capaces de ejecutar 10.7 Lion es un superconjunto del conjunto de computadoras capaces de ejecutar programas OpenGL 3.2.

Tenga en cuenta que no soy un experto en Mac ni un programador de OpenGL, no sé en qué medida OpenGL es compatible con versiones anteriores. Supongo que compilar contra las librerías OpenGL 3.2 está bien, pero si intentas usar cualquier función de hardware-accelerate 3.2, obtendrás un error de tiempo de ejecución. Pero luego debe probar para ver si una característica es compatible antes de usarla, por lo que su programa debería funcionar bien en Mac antiguas siempre que realice algunas modificaciones menores.

5

OSX tiene un procesador de respaldo de software que se utiliza automáticamente cada vez que una característica de OpenGL no está disponible en el hardware. Cada máquina OSX que ejecuta Lion admite la especificación completa de OpenGL 3.2 Core a través de este renderizador de respaldo de software. Si solicita funciones que no están disponibles en el hardware, la estructura de OpenGL caerá silenciosamente a la representación de software para esa etapa de la canalización de gráficos.

Esto significa que cada Mac que ejecute Lion ejecutará su aplicación OpenGL 3.2, independientemente del hardware. No obtendrá un error de tiempo de ejecución, pero puede obtener o no un rendimiento aceptable, dependiendo de las características que la GPU admita en el hardware y de la complejidad de su tarea de representación.