iphone 3d opengl-es

iphone - Aprender OpenGL ES 1.x



3d opengl-es (9)

Después de pasar bastante tiempo desarrollando 3D, me di cuenta de que, en la mayoría de los casos, la mejor manera es aprender con ejemplos y avanzar con ellos sobre la marcha.

Comience estableciéndose un objetivo para lograr (por ejemplo, implementar un sistema de partículas, esto incluye el uso de modos de fusión, texturas, colores de vértices, procesamiento por lotes y transformaciones) y luego comenzar con el elemento más simple: dibujar y rotar un quad . A partir de ahí, agrega y agrega texturas, agrega más cuadrículas, etc. Al hacerlo, necesitarás algo de información sobre la sintaxis; puedes encontrarla en muchos libros, pero la mejor (muy aburrida) fuente es la publicación del comité de especificaciones. que se puede encontrar aquí: http://www.khronos.org/opengles/spec/

Incluso con eso te toparías con muchos problemas, bueno, una vez que tienes un problema acude a tu mejor amigo en estas situaciones: ¡demos y ejemplos!
Puede encontrar muchos ejemplos de fuentes para el iPhone en línea y en el sitio de la manzana, así que descárguelos, copie y pegue lo que necesita y luego modifique según sus necesidades.

Que te diviertas.

¿Cuál es la forma más rápida de acelerar SpeedGL ES 1.x?

Supongamos que no sé nada sobre OpenGL (que no es del todo cierto, pero ha pasado un tiempo desde la última vez que utilicé OpenGL). Estoy muy interesado en aprender esto para el desarrollo relacionado con iPhone, pero también me interesa saber cómo funciona en otras plataformas.

Encontré el libro OpenGL ES 2.0 Programming Guide , pero me preocupa que no sea el mejor enfoque porque se centra en 2.0 en lugar de en 1.x. Tengo entendido que 2.0 no es compatible con versiones anteriores de 1.x, por lo que podría perder algunos conceptos importantes.

Nota: Para obtener respuestas sobre el aprendizaje general OpenGL, consulte https://stackoverflow.com/questions/62540/learning-opengl

Algunos recursos que he encontrado:


Es posible que desee echar un vistazo a this excelente tutorial de Jef LaMarche para OpenGL ES en el iPhone.


Existe cierta documentación en el iPhone SDK.

Aparte de eso, solo toma lo que sabes sobre OpenGL (o aprende por otros medios), y olvídate de todas las cosas que son "antiguas" (listas de visualización, modo inmediato, cosas que están en OpenGL pero que no están directamente relacionadas con solo dibujando triángulos). Básicamente, desaprender todo lo que ha sido declarado obsoleto en OpenGL 3.0.

GL ES 1.x es para dispositivos bastante simples. Lo que tienes es una forma de dibujar geometría (búferes de vértices), administrar texturas y configurar un estado de función fijo (iluminación, combinadores de texturas). Eso es todo lo que hay que hacer.




Para su información, el código de Brad Larsons Molecules ya está disponible here .


Si ha descargado los ejemplos del SDK de iPhone, consulte el archivo EAGLview de Crash landing. Es una implementación bastante directa de una vista GLES que se puede importar y usar de manera bastante limpia en otro proyecto. Hay otra clase en ese proyecto llamada Texture2d (si mal no recuerdo) que también es bastante interesante si te gusta usar GLES para 2D.


Si puedo conectar mi propio trabajo, te dirijo a mi publicación en http://www.sunsetlakesoftware.com/2008/08/05/lessons-molecules-opengl-es . No es la mejor introducción general a OpenGL ES, y se vuelve bastante técnico bastante rápido, pero es mi opinión sobre el tema de mi experiencia escribiendo Molecules . Además, acabo de comenzar a leer el libro "Mobile 3D Graphics: con OpenGL ES y M3G" .

Estoy de acuerdo con la sugerencia de que la mejor forma de aprender es hacerlo. Comencé sin saber nada sobre OpenGL y tres semanas más tarde tuve moléculas para su revisión en la App Store. Una vez que tenga un conjunto claro de objetivos ("OK, necesito dibujar una esfera 3-D", "Ahora necesito rotarlo a pedido") es fácil encontrar los ejemplos o partes de la documentación que se aplican solo a la tarea en la que estás trabajando

Hay muchos ejemplos de códigos, aunque muchos de ellos usan el modo inmediato y otras llamadas que no son compatibles con OpenGL ES. Me encantaría agregar a la lista lanzando la fuente a Moléculas, pero la NDA de Apple lo ha impedido hasta ahora. El código fuente de Moléculas Molecules .

Como una actualización (16/11/2010), el video para la clase que enseñé en OpenGL ES 1.1 ahora está disponible para descargar como parte de mi curso en iTunes U. Las notas para esa sesión se pueden encontrar here . Pronto actualizaré los videos del semestre de otoño con uno para la clase de esta semana en OpenGL ES 2.0.

Mientras tanto, Philip Rideout ha publicado un excelente libro sobre el desarrollo de OpenGL ES 1.1 y 2.0 para el iPhone, llamado iPhone 3D Programming . Lo recomiendo altamente.


También puedo sugerir Android: es fácil de conseguir y puedes tener un simulador de trabajo realmente rápido. Además, usa v1.0 hasta donde yo sé.
Podría haber más tutoriales, pero incluso el APIDemos provisto por Google tiene una introducción a OpenGL ES. Ciertamente lo encontré útil.