El libro que más me ayudó fue “Programación 3D para iPhone, desarrollo de aplicaciones gráficas con OpenGL ES”, de Philip Rideout, que, como mencionas Objective-C, debería escribir tu callejón. (Objective C, para aquellos que no están familiarizados, es una extensión del lenguaje de Apple a C para dispositivos iOS y Android)
Fue escrito antes del kit GL desarrollado por Apple, por lo que le brindará más información interna de OpenGL en el trabajo.
Aprendiendo OpenGL ES para iOS, una Guía práctica para la programación moderna de gráficos en 3D, Erik M. Buck le brindará más del enfoque de GLKit, pero menos en el lado abierto de GL).
Por supuesto, ambos son OpenGL ES, no el OpenGL completo. Alguien con más conocimientos que yo podría corregirme al respecto, pero tengo la sensación de que las diferencias no son dramáticas.
- ¿Debo aprender big data?
- ¿Qué puedo aprender en programación de computadora en solo 10 minutos que podría ser útil para el resto de mi vida?
- ¿Cuál es la mejor manera de aprender todo sobre cómo integrar las notificaciones push de geo-cercas en dispositivos móviles y plataformas?
- ¿Cuánto tiempo necesito para aprender Java?
- ¿Cuál es una buena manera de aprender y codificar VBA?
Una cosa que te va a obstaculizar mucho si es nuevo para ti (lo fue para mí) son los conceptos de álgebra lineal. El libro que más me ayudó fue “3D Math Primer para gráficos y desarrollo de juegos” por Fletcher Dunn
Es una progresión, una cena de 7 platos. No te lo comes todo de una vez. Así que no esperes que haga clic durante la noche. Viene en oleadas.
Debe tener en cuenta que casi todos los programadores de gráficos trabajan en C ++ (incluido el objetivo C ++) debido a la comodidad que brinda la sobrecarga del operador.
Pero la progresión vale la pena. Puede hacer cosas con las GPU a las que los códigos limitados a la CPU solo pueden asombrar.
Hay 2 escuelas de práctica. Si usted es principalmente un tipo que simplemente coge las bibliotecas de la estantería y reúne cosas, puede sobrevivir con un conocimiento muy ligero. La ventaja es que obtienes cosas rápidamente. Por lo tanto, si tiene prisa, el libro de Erik M. Buck le proporcionará los programas más rápidos y eficientes con el menor conocimiento de su parte (que es, por supuesto, el lado negativo. Es el menos conocimiento de su parte).
Pero si se ejecuta la gama, aprenderá el lenguaje de sombreado, y un montón de matemáticas bastante avanzadas, álgebra matricial, cuaterniones, algunas cosas geniales por sí mismas y técnicas inmensamente poderosas para hacer las cosas.
Lo que Open GL hace es bastante sencillo. Mueve el código al procesador gráfico y lo envía a procesar. Para personalizar lo que hace ese código, estudiará Open GL Shading Language, que es lo que le brinda la mayor capacidad. (O, si estás dispuesto a apegarte a los productos iOS, Metal)