Start Here

My aim is to teach you everything about Computer Graphics, C++ and Game Engine Development.

Let's get started!


Must Read Articles

These are must read articles in Game Engine Development, OpenGL and C++.

Game Engine Articles

Ever wondered how a game engine works? These articles will give you an overview of Game Engine design.

  1. How does a Game Engine work? An Overview
  2. How does a Rendering Engine work? An Overview
  3. How does a Physics Engine work? An Overview
  4. Design Patterns in Game Engine Development

Read more Game Engine Development articles here.

OpenGL ES articles

If you are planning to use OpenGL in your game engine, then you may want to understand how the OpenGL API works. I recommend to read these articles.

  1. What is OpenGL
  2. What is a Vertex Shader
  3. What is a Fragment Shader
  4. Understanding OpenGL Objects
  5. Visualizing OpenGL Objects
  6. Brief talk about OpenGL Textures
  7. Compiling, Attaching and Linking Shaders

Read more OpenGL ES articles here.

C++ articles

To develop a Game Engine, you can use any language you want. I use C++. It is fast and powerful. If you are planning to develop your engine using C++, I recommend you to read these articles.

  1. How to use virtual destructors
  2. How to use namespaces
  3. Always initialize C++ Objects
  4. Never call a virtual function during destrucion
  5. Prefer pass-by-reference-to-const to pass-by-value
  6. Don't return a reference when you must return an object
  7. Delay construction of objects until they are needed
  8. References are Aliases, not Pointers
  9. Avoid memory leaks in C++ with Smart Pointers
  10. Avoid code duplication in C++ with function templates
  11. Avoid code duplication with Class Templates in C++

Read more C++ articles here.



Resources

OpenGL Frequently Asked Questions: Get answers to the most popular OpenGL questions.
OpenGL Terminonoly: Need help with OpenGL terminology?
OpenGL Code Snippets: Can't remember how to load data into buffers? Here are code snippets which you can use as reference.