2009-09-07 13 views
10

Estoy empezando a desarrollar con OpenGL ES en ARM/Linux, y me gustaría dibujar algo a pantalla completa, pero no sé por dónde empezar.¿Cómo dibujar algo con OpenGL ES en Linux?

Estoy no desarrollando en iPhone, ni Android. Esta es una pregunta de Linux/OpenGL ES.

sé que es posible dibujar en el uso de este dispositivo con OpenGL ESsin cualquier biblioteca pero no encuentro ningún recurso sobre ese tema, ¿podría ayudarme?


que no tienen ningún código para mostrar cómo hacerlo, pero básicamente utiliza un dispositivo de uso de este dispositivo como el objetivo de OpenGL | ES operaciones.

Respuesta

2

Here es un tutorial que muestra cómo usar SDL en combinación con OpenGL ES. Es para la plataforma OpenPandora, pero dado que ejecuta Linux, debería ser aplicable en el escritorio si puede obtener las versiones adecuadas de la biblioteca.

El uso de SDL es más o menos estándar en este tipo de programación, en Linux. Por supuesto, puede ir por la ruta más larga y abrir la ventana usted mismo, adjuntar un contexto de representación GL, etc., pero generalmente es más fácil aprender las partes relevantes de SDL. Eso también le da APIs fáciles de usar para la lectura de entrada, que casi siempre es necesaria.

+0

No quiero utilizar ninguna biblioteca simplemente la implementación de OpenGL ES para dispositivos linux y framebuffer. – amirouche

3

¡No olvide que Linux de escritorio viene con OpenGL, no con OpenGL! Son similares pero no del todo compatibles. Si desea trabajar en OpenGLES en una plataforma Linux de escritorio, ARM o de otro modo, necesitará una biblioteca de emuladores OpenGLES. Lo siento, no puedo recomendar ninguno, estoy buscando uno yo mismo.

OpenGLES simplemente se encarga del proceso de dibujar cosas en la ventana. También necesita una biblioteca de ventanas, que maneja el proceso de creación de una ventana para dibujar cosas, y una biblioteca de eventos, que se ocupa de los eventos de entrada que regresan de la ventana.

SDL proporcionará los dos últimos, al igual que muchas otras bibliotecas. Los propios Khronos se han estandarizado en EGL como la biblioteca de ventanas y OpenKODE como la biblioteca de eventos ... pero no sé dónde conseguir implementaciones de código abierto para Linux. (Trabajo para una compañía que hace EGL y OpenKODE para plataformas integradas, ¡así que nunca necesité encontrar una versión de código abierto!)

4

ARM ofrece algunas GPU que admiten OpenGL 2.0. Puede encontrar algunos ejemplos y un emulador que se ejecuta en Linux en el sitio Mali Developer. Por supuesto, eso es principalmente para apuntar a las GPU ARM, pero estoy bastante seguro de que podría usarse para examinar las posibilidades de programación de OpenGL ES.

5

¿Está desarrollando con una plataforma incrustada como objetivo? De ser así, podría usar implementaciones de software en su sistema host y luego el controlador real en el dispositivo incorporado.

Hay un pequeño proyecto para admitir OpenGLES 1.1 en Linux llamado dlges. También puedes probar mesa.

Imagino que el controlador mismo podría tener un encabezado para OpenGL que podría mirar y ver si es compatible con las llamadas de OpenGLES. Alternativamente, puede configurar punteros de función para hacer que su código OpenGL se parezca más a OpenGL ES.

¡Buena suerte!

Cuestiones relacionadas