How do I learn the basics of Computer Graphics

If you are interested in learning the basics of Computer Graphics, you will need to start learning the basics of Linear Algebra. Concepts such as vectors, matrices and transformations form the basics of computer graphics. For example, when you press a button on your controller to rotate a game character on a screen, you are applying a rotational transformation to the game character.

After you have a good grasp on linear algebra, you will need to learn an API that gives you access to communicate with the GPU. A very popular API is OpenGL. OpenGL is not a programming language, it is an API. An API is a software intermediary that makes it possible for different programs to interact with each other. In the case of OpenGL, it allows the interaction between the CPU and the GPU.

OpenGL can be thought of as a client-side and a server-side. The client-side deals with loading data onto OpenGL buffers and then transferring them to the GPU. Try to learn about OpenGL Buffer, Vertex Buffer Objects, Vertex Array Object and Texture Objects. Learn how to load data into these buffers and about the OpenGL Rendering Process.

The server-side consists of shaders. A shader is a small program developed by you that lives in the GPU. A shader is written in a special graphics language called OpenGL Shading Language (GLSL). A shader takes the place of two important stages in the OpenGL pipeline: "Per-Vertex Processing" and "Per-Fragment Processing" stage.

So the basics for learning computer graphics are:

  • Linear Algebra
  • How to load data into OpenGL buffers
  • Shaders

Computer Graphics can't be learned over night. It takes time. There is a lot to learn and the only way to do so is by practicing it every single day. Have fun.

Harold Serrano

Computer Graphics Enthusiast. Currently developing a 3D Game Engine.