Learn OpenGL with Python for Graphics and Games


Develop a superior knowledge of vertex shader hardware rendering of 3D graphics.

What you’ll learn

  • Understand the fundamental concepts required to render a scene with OpenGL.
  • Write vertex shader code to render points, wireframes, lit solid objects and textured meshes.
  • Identify the steps in the OpenGL render pipeline and discuss purpose of each.
  • Complete the development of a generalised 3D graphics engine in Python.


  • A working knowledge of a procedural or object-orientated language.
  • A healthy respect for vectors and trigonometry.


Why should you learn OpenGL?  (a) It’s one of the original graphics libraries developed  to be implemented mostly (or entirely) on hardware. (b) A knowledge about OpenGL will reveal to you what goes on in the background of other graphic and game engines giving you superior problem-solving and trouble-shooting skills in other applications (c) It will improve your understanding of 3D mathematics, and (d) It brings vertex shader programming to the forefront of developing computer graphics applications delivering you a higher level of skill in creating fast GPU-based parallel-processed 2D and 3D graphics.

Designed for INTERMEDIATE level students with a working knowledge of programming, the content in this course will take you step-by-step through the setup of Python, Pygame, and PyOpenG and the development of a generalised 3D graphics engine designed on the fly (as the course progresses), to focus on adding the required functionality as each fundamental concept in computer graphics generation, mathematics, and rendering is revealed.

You will learn about:

  • The Pycharm Development Environment.
  • The Pygame API, which is an interface for OpenGL.
  • PyOpenGL, a python wrapper for the OpenGL API.
  • Coordinate systems in orthogonal, perspective, screen space, and camera space.
  • Moving a virtual camera.
  • Constructing 3D graphics using vertex shaders.
  • Vertex Colouring.
  • Lighting.
  • Essential mathematics for working with 3D space and positioning vertices with a variety of 4×4 viewing matrices.
  • Working with 3D OBJ model files.
  • UV mapping and texturing of meshes.

What people are saying about Penny’s courses:

  • Once again Penny delivers a powerful, clear, and worthy course. I believe this material will be very helpful in understanding the underlying workings of many game engines. It is also something a bit different that will allow me to work on my python skills having some fun by making games. She is very clear in her instruction, very knowledgeable and of course delivers easy to follow and understand information that you can easily pick up and learn.
  • Allow me to say how hugely important this is for a person who is interested in certain types of game design. Creating games where you can create AI behaviors that support emergent situations.
  • I honestly love Holistic’s teaching approach and I’ve never learned so much within a few hours about coding effectively with such detailed explanations!

This course focuses on providing students with hands-on experience coding a general 3D graphics engine using PyOpenGL, while also providing an easy introduction to Python for the intermediate programmer.

Who this course is for:

  • Intermediate game programmers interested in learning OpenGL
  • Python programmers interested in expanding their skillset to draw 3D graphics.

Created by , Penny de Byl
Last updated 4/2022
English [Auto]

Size: 6.2 GB

Download Now


1 Comment
  1. Amir Dhahri says

    Please seeding this course, I really need it.

Leave A Reply

Your email address will not be published.