Ad Clicks : Ad Views : Ad Clicks : Ad Views : Ad Clicks : Ad Views : Ad Clicks : Ad Views :
Oh Snap!

It looks like you're using an adblocker. Adblockers make us sad. We use ads to keep our content happy and free. If you like what we are doing please consider supporting us by whitelisting our website. You can report badly-behaved ads by clicking/tapping the nearby 'Advertisement' X text.

Learn OpenGL with Python for Graphics and Games by Penny Holistic3D, Penny de Byl

Learn OpenGL with Python for Graphics and Games by Penny Holistic3D, Penny de Byl

/

Author:Penny Holistic3D, Penny de Byl

Duration:14 hours

Actual Duration:14h 7m

Release date:2023, August

Publisher:Udemy

Skill level:Intermediate

Language:English

Exercise files:Yes

Software:Python, Pygame, PyOpenGL

Course URL:https://www.udemy.com/course/learn-opengl-with-python-for-graphics-and-game

Build a generalized 3D graphics engine from scratch in Python, learning vertex shaders, lighting, and the OpenGL pipeline along the way.

This course is for intermediate programmers who want to understand what happens under the hood of game engines like Unity or Unreal. You’ll build a complete 3D graphics engine in Python using OpenGL, Pygame, and PyOpenGL, learning how to write vertex shaders, handle transformations, and light 3D scenes. No black boxes, just raw GPU rendering.

🎯 What you’ll learn

  • Understand the OpenGL render pipeline and the purpose of each stage.
  • Write vertex shader code to render points, wireframes, lit solid objects, and textured meshes.
  • Build a generalized 3D graphics engine in Python from the ground up.
  • Master 3D mathematics, including vectors, matrices, and coordinate spaces.

✅ Requirements

  • Skills: Working knowledge of a procedural or object-oriented language. A healthy respect for vectors and trigonometry.
  • Tools: PyCharm IDE, Python 3.x, Pygame, PyOpenGL.
  • Hardware: A computer capable of running OpenGL 3.3+.

📝 Description

This isn’t a “click-here-to-make-a-game” course. It’s a deep, practical look at how 3D graphics actually work on modern hardware. You’ll start by setting up Python with Pygame and PyOpenGL, then immediately start plotting points and drawing lines. From there, you’ll build up to loading 3D models, writing vertex shaders, and implementing a full lighting model with ambient, diffuse, and specular components.

The course is structured around building a generalized 3D graphics engine. Every new concept—from coordinate spaces to transformation matrices—gets added directly to your engine. By the end, you’ll have a working piece of software that can load OBJ files, render textured meshes, and handle multiple light sources. It’s the kind of foundational knowledge that makes troubleshooting in other engines much easier.

Penny de Byl’s teaching style is direct and project-based. She doesn’t waste time on fluff. Each lecture builds on the last, and you’ll write real code from the very first video. If you’ve ever wondered how a game engine turns a list of vertices into a moving, lit 3D scene, this course will show you exactly how it’s done.

🧑‍🎓 Who this course is for

  • Intermediate game programmers who want to understand the low-level rendering pipeline.
  • Python programmers looking to expand their skillset into 3D graphics and real-time rendering.

🧑‍🏫 About the Author

Dr. Penny de Byl is a full professor with over 25 years of experience teaching computer science, game development, and computer graphics at universities in Australia and Europe. She holds an honors degree in computer graphics and a Ph.D. in artificial intelligence for game characters. She has consulted for Unity and SAE, and her bestselling textbooks are used in over 100 institutions worldwide. Her graduates work at companies like Apple, Ubisoft, and LinkedIn.

🏁 Final Result

  • A fully functional, generalized 3D graphics engine written in Python that can load, transform, light, and texture 3D models from OBJ files.
Curriculum

📋 Course content

  1. Module 1: Getting Started
    • Welcome4:25
    • Join the H3D Student Community1:26
    • Contacting H3D0:01
    • Three Dimensions, Vectors and Cartesian Coordinates8:47
    • Representing Colour3:21
    • FAQs0:15
    • Integrated Development Environment Setup8:18
    • Testing OpenGL in PyCharm5:21
    • Introducing Pygame11:45
    • OpenGL Programming Basics16:29
  2. Module 2: 2D Drawing and Plotting
    • Plotting Star Signs7:41
    • Points and Plotting Functions12:00
    • Plotting Points with a Mouse8:01
    • Mapping Values Between Coordinate Systems8:57
    • Drawing Lines Part 19:11
    • Drawing Lines Part 23:48
    • Drawing a Graph with Lines6:37
    • Saving a Line Graph to a Data File8:18
    • Loading a Line from a Data File8:31
    • Polygons11:11
    • Programming a Turtle13:21
    • Rotating and Moving the Turtle7:57
    • Lindenmayer Systems8:55
    • Drawing an L-System14:05
    • Iterative Function Systems Part 115:23
    • Iterative Function Systems Part 25:34
  3. Module 3: 3D Meshes and Coordinate Spaces
    • The Structure of a Mesh12:03
    • Creating a Cube Class4:40
    • Loading a Mesh from a File11:50
    • Displaying a Loaded Mesh8:14
    • Coordinate Spaces8:04
    • Setting Viewing Transformations11:15
    • Moving and Aiming the Camera9:38
    • Live Camera Moving10:49
    • Live Camera Rotating10:48
    • Mouse Movement Sensitivity8:54
    • Visualising World Orientation10:47
  4. Module 4: Transformations and Matrices
    • The Elementary Transformations6:46
    • Let’s Talk about Matrices7:39
    • Matrices in Transformation9:04
    • Translation11:40
    • Mesh Translations10:40
    • Translating on the Fly5:19
    • Rotation10:56
    • Mesh Rotations8:41
    • Scaling11:21
    • Properties of Affine Transformations4:37
    • Refactoring for Flexibility10:30
    • Testing the Engine Foundation6:41
  5. Module 5: Vertex Shaders
    • OpenGL Shader Language8:41
    • Shader Datatypes6:19
    • Temp Fix for next Lecture0:07
    • Compiling Shader Code9:02
    • My First Vertex Shader Part 110:59
    • My First Vertex Shader Part 25:46
    • Working with Multiple Vertices13:20
    • Working with Multiple Colours9:09
    • Bringing back the Mesh11:10
    • Passing Uniforms12:03
    • Matrices for Transformations9:10
    • Performing Transformations7:41
    • The Perspective Matrix9:13
    • A New Camera12:10
    • Working with Projection and Modelviews in Vertex Shaders9:29
    • Adding Transformations to Meshes7:40
    • Create World Axes with Vertex Shaders5:53
    • Adjusting for Unwanted Camera Roll10:22
    • Restricting Pitch Angles3:59
  6. Module 6: 3D Objects and OBJ Files
    • Creating a 3D Object9:51
    • Loading an OBJ File10:33
    • Reapplying Scaling and Rotation6:45
    • Rotations, rotations and more rotations10:34
    • Animating with Transformations13:14
    • Transforming All Meshes9:26
    • Translating and Scaling in Realtime6:53
  7. Module 7: Lighting and Textures
    • Normals8:52
    • Loading Vertex Normals and UVs8:49
    • Adding Lights to Vertex Shaders9:14
    • Passing Vertex Normals10:07
    • Ambient, Diffuse and Specular Lights12:44
    • More on Specular Lights9:16
    • Multiple Light Sources Part 110:49
    • Multiple Light Sources Part 211:16
    • UVs8:16
    • Textures11:00
    • Shaders with Textures11:15
    • Playing with UV Values8:23
    • Blending9:58
  8. Module 8: Engine Refactoring and Final Project
    • Loading Shaders from a File10:29
    • Reconfiguring the Mesh Class8:03
    • Considering the Camera and Light9:12
    • Integrating a Second and Different Shader13:05
    • Multiple Lights5:21
    • Final Project10:52
    • Some Final Words from Penny2:00
    • Where to Now?0:04
Watch online or Download for Free
Learn OpenGL with Python for Graphics and Games by Penny Holistic3D, Penny de Byl
NAME
SIZEDURATION
12 – Textures
38.5 MB48m
14 – Final Words
4.3 MB2m

Download all Videos (93)
654.5 MB14h 7m


Download all

Join us on
  Channel    and      Group

Leave a Comment

Your email address will not be published. Required fields are marked *