Sei sulla pagina 1di 2

PyOpenGL

Introduccin Si nunca se han encontrado con OpenGL, entonces usted podra no ser consciente del hecho de que se trata de una excelente API de grficos 3D y un absoluto placer trabajar con l. Una advertencia sin embargo, es que la creacin de la aplicacin para utilizar OpenGL puede ser ... tipo de dolor. La lucha viene del hecho de que cada biblioteca de interfaz grfica de usuario maneja el contexto OpenGL de forma ligeramente diferente y algunos requieren varios trucos GUI . Tambin la inicializacin de la ventana se puede hacer de varias maneras diferentes y hacer lo correcto (al tratar de hackear algn cdigo en conjunto) tambin pueden ser dolorosas, especialmente si tiene que volver a compilar cada vez que cambie algo. PyOpenGL , como su nombre lo indica, es la pythonic API OpenGL. Si tienes experiencia en OpenGL, pero nunca he utilizado PyOpenGL que debe tomar el tiempo para leer el PyOpenGL para OpenGL programadores tutorial. Aunque se puede escribir ms o menos C OpenGL en Python, el paquete de PyOpenGL tambin proporciona una interfaz ms agradable orientado ms python para la API de OGL. Ventajas de PyOpenGL

NumP y matrices son compatibles de forma nativa, por lo que la manipulacin de grandes conjuntos de datos fcil y rpido. Llamadas OpenGL se envuelven con glGetError por lo que automticamente obtendr excepciones cuando las cosas van mal. Usted puede copiar / pegar el cdigo y de C / C + + ya que la mayora de la API OpenGL es el mismo, o una versin ligeramente pythonified, como la API de C. Esto hace que exportar el cdigo de una brisa. Es as que Python No hay necesidad de compilar lo que significa cambios ms rpidos. Es de cdigo abierto por lo que es mejor cada da. Colaborar es fcil ya que las llamadas API no estn muy bien acoplados y una vez que entienda los fundamentos de cmo PyOpenGL y ctypes trabajo que puede contribuir al proyecto, proporcionando las envolturas y pythonifications para las llamadas OpenGL.

Desventajas de PyOpenGL

El API PyOpenGL consta de cdigo de contenedor generado automticamente con la mano pythonifications por escrito, esto hace que algunos errores difciles de entender. Menos utilizadas / API se sabe que no estn envueltas como muy bien lo que su cdigo feo. Si no inicializar correctamente buffers Python violacin de segmento, pero eso es lo que ocurrira en C / C + +, as que supongo que no es una desventaja. Es ms fcil escribir las aplicaciones lentas en PyOpenGL. La razn es que Python es obviamente ms lento que C cuando se ejecuta bucles y llamadas a mtodos, por lo que dibujar con el modo inmediato (glBegin / glEnd) tiende a ser mucho ms lento que C (en mis pruebas superficial). Sin embargo, utilizando vertex arrays y ser inteligentes acerca de su cdigo se asegurar de que su rendimiento es cerca de C / C + + cdigo.

PyOpenGL es la plataforma cruzada Python vinculante para OpenGL y las API relacionadas. Se crea el enlace con la norma (en Python 2.5 y superiores) de la biblioteca ctypes, y est prevista en una muy liberal BSD licencia de cdigo abierto. PyOpenGL incluye soporte para OpenGL 3.2 a travs v1.1, GLU, GLUT v3.7 (y freeglut) y GLE 3. Tambin incluye soporte para cientos de extensiones OpenGL. PyOpenGL es interoperable con un gran nmero de bibliotecas externas GUI para Python como wxPython , Pygame , PyGTK y Qt . Tambin puede utilizar la biblioteca GLUT para proveer de ventanas y mecanismos bsicos de interfaz de usuario. El proyecto de SourceForge PyOpenGL tiene dos sub-proyectos, la biblioteca principal, PyOpenGL (conocido como el mdulo de OpenGL ctypes en bzr, y el paquete de OpenGL cuando se instala en Python), y una biblioteca de enseanza y la evaluacin, OpenGLContext construido en la parte superior del ncleo.

Potrebbero piacerti anche