Cómo aprender los fundamentos de la infografía, el procesamiento de imágenes y la programación OpenGL? ¿Hay libros recomendados

Si usted está interesado en aprender los fundamentos de la infografía, tendrá que empezar a aprender los fundamentos del álgebra lineal. Conceptos como vectores, matrices y transformaciones forman los fundamentos de la infografía. Por ejemplo, cuando pulsas un botón de tu mando para girar un personaje del juego en una pantalla, estás aplicando una transformación rotacional al personaje del juego.

Después de que tengas un buen conocimiento del álgebra lineal, necesitarás aprender una API que te dé acceso para comunicarte con la GPU. Una API muy popular es OpenGL. OpenGL no es un lenguaje de programación, sino una API. Una API es un intermediario de software que hace posible que diferentes programas interactúen entre sí. En el caso de OpenGL, permite la interacción entre la CPU y la GPU.

OpenGL puede considerarse como un lado del cliente y un lado del servidor. El lado del cliente se encarga de cargar los datos en los búferes de OpenGL y luego los transfiere a la GPU. Intenta aprender sobre el búfer OpenGL, los objetos del búfer de vértices, el objeto de matriz de vértices y los objetos de textura. Aprende a cargar datos en estos buffers y sobre el proceso de renderizado de OpenGL.

El lado del servidor consiste en shaders. Un shader es un pequeño programa desarrollado por ti que vive en la GPU. Un shader está escrito en un lenguaje gráfico especial llamado OpenGL Shading Language (GLSL). Un sombreador ocupa el lugar de dos etapas importantes en el pipeline de OpenGL: "Procesamiento por vértice" y "Procesamiento por fragmento".

Así que los fundamentos para aprender gráficos por ordenador son:

  • Álgebra lineal
  • Cómo cargar datos en los búferes de OpenGL
  • Shaders

Los gráficos por ordenador no se pueden aprender de la noche a la mañana. Se necesita tiempo. Hay mucho que aprender y la única manera de hacerlo es practicando cada día. Have fun.

Update 11/27/15
In case you are interested in learning more, here is a list of OpenGL articles and projects which I have written on my blog. I hope you find them useful. Enjoy

Beginner's Level

  1. What is OpenGL
  2. What is the purpose of the OpenGL API
  3. Understanding OpenGL Objects
  4. Visualizing OpenGL Objects
  5. Loading data into OpenGL
  6. OpenGL Rendering Pipeline
  7. Starting the Rendering Process in OpenGL
  8. Rendering efficiently with OpenGL
  9. Vertex Attribute Purpose
  10. Brief talk about OpenGL Textures
  11. What is a Vertex Shader
  12. What is a Fragment Shader

Intermediate Level

  1. What are binding points in OpenGL
  2. What are Vertex Array Binding points
  3. Compiling, Attaching and Linking Shaders
  4. How does the Vertex Shader receives data
  5. How to pass data from shader to shader
  6. what is the purpose of a Vertex Attribute in OpenGL
  7. What are Tessellation Shaders
  8. What are Geometry Shaders

OpenGL Projects

  1. Rendering a character using OpenGL ES in iOS
  2. Applying texture to a character using OpenGL ES in iOS
  3. How to use OpenGL ES Shaders
  4. How to rotate a character using OpenGL ES in iOS
  5. How to apply lighting to a character using OpenGL ES in iOS
  6. How to apply a Skybox (Cube Map) using OpenGL ES in iOS
  7. How to add a Normal Map using OpenGL ES in iOS