Learn OpenGL with Python for Graphics and Games (Udemy.com)
Develop a superior knowledge of vertex shader hardware rendering of 3D graphics.
Created by: Penny de Byl
Last updated August 2023
What you will 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.
How it compares
Against the other 518 rated Udemy courses in Software Development on CourseDuck:
- Rating4.8 out of 5higher than 93% of them
- Reviews343#277 of 519 by number of reviews
- Length14 hourslonger than 78% of them
- Last updatedAugust 2023earlier than 78% of them
Course Description
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 4x4 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.
Instructor Details
- 4.8 Rating
343 Reviews
Penny de Byl
Hi, I'm Dr Penny de Byl. I'm a full stack developer of most things computer sciency and academic with a true passion for teaching. I've been teaching others about games development, programming, computer graphics, animation and web design for over 25 years in universities in Australia and Europe at the full professor level. I've also consulted for Unity, SAE, the Australian Institute of Entertainment and Wikitude. My best selling textbooks including Holistic Game Development with Unity are used in over 100 institutions world-wide. My graduates work at companies like Apple, Ubisoft, LinkedIn and Deloitte Digital.
I have an honours degree in computer graphics and a Ph.D. in artificial intelligence for games characters. Over the course of my career I've won numerous awards for teaching excellence at the state, national and international levels including the Australian Learning and Teaching Council's Excellence in Teaching Award and the Unity Mobile Game Curriculum Competition. My approach to teaching computer science and related fields is project-based giving you hands-on workshops you can immediately get your teeth into.
I want you to leave my virtual classroom fully armed with a toolkit of skills for life-long learning. I'm excited to now be focussing my efforts full-time on Udemy to bring my years of knowledge and experience to those eager to learn about technology.
More courses by Penny de Byl
Shader Development from Scratch with Cg - Unity 6 Compatible (2025)
4.2 (3,521 Reviews)
Provider: Udemy
Time: 10.4h
$10.99
The Beginner's Guide to Games AI with Unity 6.2+ (2026)
4.6 (2,871 Reviews)
Provider: Udemy
Time: 30.9h
$14.99
A Beginner's Guide To Machine Learning with Unity (2023)
4.5 (2,166 Reviews)
Provider: Udemy
Time: 13.1h
$11.99
The Beginner's Guide to Animation (Unity 5 to 2020+)
4.6 (2,052 Reviews)
Provider: Udemy
Time: 11.3h
$13.99
Mathematics for Game Development - Unity 6 Compatible (2026)
4.5 (1,850 Reviews)
Provider: Udemy
Time: 15.3h
$11.99
Program Voxel Minecraft Worlds with C# - Unity 6 Compatible (2025)
4.2 (1,754 Reviews)
Provider: Udemy
Time: 18.5h
$10.99
More Software Development courses
MATLAB Programming Simulink: Beginner to Pro with ChatGPT (2026)
5.0 (930 Reviews)
Provider: Udemy
Time: 9.6h
$10.99
Build Web Apps with Nuxt.js 3: Master TypeScript & API [New] (2026)
4.9 (635 Reviews)
Provider: Udemy
Time: 6.7h
$19.99
Terraform 101: The Ultimate Hands-On Guide [Azure Edition] (2025)
4.8 (1,975 Reviews)
Provider: Udemy
Time: 11.9h
$94.99
Reviews
By Catalin Enache on 9/10/2026
Very good introductive course in low level graphics.. H3D is one of my preferred teachers. Very good explanations. Waiting for a Reloaded Edition with modern OpenGL Apis and why not a Vulkan course. Thank you for being such a good teacher.
By Muslim Umalatov on 4/21/2024
The part of the python codes was difficult to understand for me, but that's I think because of my lack of Python coding experience. I mean the logic of self, mouse controls, keyboard controls, super(), __init__ and so on... But, OpenGL's explanation of material such as affine transformations, matrixes etc were great. Especially the explanation through the code, where teacher showing the small details (glScalef() should be after glTranslatef()). 5 stars from me, thank you Penny!
By R. Patrick McNally on 5/12/2023
The course was pretty good overall and I did learn a lot. I do wish the final engine was a bit more coherent. While what we have works, there are still a number of hacky parts that I wouldn't feel comfortable using in production software. I feel like we could have developed something a bit more well designed without much more effort.
By Stephane Escaich on 5/8/2023
I tried a few courses, and it is the first one that is really well detailled and easy to follow (a bit fast for me but I paused every now and then). I learned a lot, the teacher provides brain teasers during the course, and the incremental difficulty helped me progress at my own rythme. As a non-english native I could also easely understand her diction as she speaks loud, clear with a distinct pronounciation. The cherry on the cake was to use Pycharm and no other unecessary IDEs nor packages, like that I could follow the course on a work PC without need of admin rights.
By Adnan on 2/2/2023
At first i was a little overwhelmed by the notions, im here to learn about matrices, vector, transformation etc.. and i was affraid because the begining of the course doesnt go very deeply into this but it was on purpose to explain all those concept later on and its really really well explained. Thank you madame youre really good at this
By Geor Kasapidi on 1/18/2023
Thank you for the course! This is in my opinion a gentle introduction into opengl and shaders, and it would be awesome to see in a future part 2 with a deep dive into math-heavy shaders, some raytracing/raymarching, etc. Also (i think maybe other people will agree with me) it would be nice to have more complex/deep exercises!
By Toshiki on 12/2/2022
As the openGL introduction, this cause is very good. However, lecturer does not know modern python coding style. some pert of her code are not organized, should be refactored. For example, in text I/O, she directly used "open" instead of "with". She also forgot to use "close" in the end of writing text. Conversely, I think refactoring lecture code in pythonic way is a good practice for python learner.
By Jürgen Schmidt on 9/3/2022
Really great course. I wish I had started this course before I started my 3d graphics journey. The visual explanations of the math and theory behind it makes it easy to follow.
By V Odie on 4/30/2022
Great course! Clear material, bug free, and well presented. I enjoyed the challenges which allowed me to check my understanding. Also, while watching I was able to write my own code rather than just copying because it is easy to follow the reason behind the code on screen which makes the experience more enjoyable.
By Joseph Dispenza on 4/1/2022
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.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 96 / 100









![Build Web Apps with Nuxt.js 3: Master TypeScript & API [New]](/programming/software-development/images/6457785_5adc_4.jpg?v=1789443959)

![Terraform 101: The Ultimate Hands-On Guide [Azure Edition]](/programming/software-development/images/6208847_f60a_7.jpg?v=1791193600)
