An open API service indexing awesome lists of open source software.

https://github.com/xilinjia/python3-pyopengl-tutorial

A 10-stage tutorial on developing OpenGL (PyOpenGL) in Python 3
https://github.com/xilinjia/python3-pyopengl-tutorial

opengl opengl-tutorial opengl46 pyopengl python3

Last synced: 17 days ago
JSON representation

A 10-stage tutorial on developing OpenGL (PyOpenGL) in Python 3

Awesome Lists containing this project

README

        

# Python3 PyOpenGL tutorial

### This is updated to Python 3.10. Tested on Ubuntu 22.04 with OpenGL 4.6.

Updated from [this Python2 project](https://github.com/jcteng/python-opengl-tutorial)

Implemented in Python based on the original C++ tutorial from [here](http://www.opengl-tutorial.org/). You also can find C implementation [here](https://github.com/opengl-tutorials/ogl)

[中文说明可以看这里](cn_readme.md)

## table of content
0. tu_00_glfw_window_sample : GLFW Version Colored cube.
original tutorial => http://www.opengl-tutorial.org/beginners-tutorials/tutorial-4-a-colored-cube/

![PyOpenGL](doc/screenshots/tu00.png)

1. tu_01_color_cube : GLUT Version Colored cube.
original tutorial => http://www.opengl-tutorial.org/beginners-tutorials/tutorial-4-a-colored-cube/

![PyOpenGL](doc/screenshots/tu01.png)

2. tu_02_texture_without_normal: basic rendering with texture.
original tutorial => http://www.opengl-tutorial.org/beginners-tutorials/tutorial-5-a-textured-cube/

![PyOpenGL](doc/screenshots/tu02.png)

3. tu_03_loadobj : load mesh information from wavefont obj file:
original tutorial => http://www.opengl-tutorial.org/beginners-tutorials/tutorial-7-model-loading/
![PyOpenGL](doc/screenshots/tu03.png)

4. tu_04_vbo : use VBO
original tutorial => http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-9-vbo-indexing/

![PyOpenGL](doc/screenshots/tu04.png)

5. tu_05_input : add viewport control with keyboard and mouse
original tutorial => http://www.opengl-tutorial.org/beginners-tutorials/tutorial-6-keyboard-and-mouse/
![PyOpenGL](doc/screenshots/tu05.png)

6. tu_06_multobjs: draw multi mesh objects in same window
![PyOpenGL](doc/screenshots/tu06.png)

7. tu_07_basic_shading : basic shading with light and normals
original tutorial => http://www.opengl-tutorial.org/beginners-tutorials/tutorial-8-basic-shading/
![PyOpenGL](doc/screenshots/tu07.png)

8. tu_08_transparency : transparency
original tutorial => http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-10-transparency/
![PyOpenGL](doc/screenshots/tu08.png)

9. tu_09_draw_text: Draw text in openGL
original tutorial => http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-11-2d-text/
![PyOpenGL](doc/screenshots/tu09.png)

10. tu_10_normal_mapping : Normal Mapping
original tutorial => http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-13-normal-mapping/
![PyOpenGL](doc/screenshots/tu10.png)