“I’m a programmer. I like programming. And the best way I’ve found to have a positive impact on code is to write it.”
Robert C. Martin, Clean Architecture
Hello Triangle - GLUT
Hello Triangle - GLUT - OpenGL 4.1 core (macOS)
Hello Triangle - GLUT - immediate mode (legacy)
Hello Triangle - GLFW
Hello Triangle - GLFW - OpenGL 4.1 core (macOS)
Hello Triangle - GLFW - immediate mode (legacy)
Hello Triangle - Pygame
Hello Triangle - Pygame - OpenGL 4.1 core (macOS)
Hello Triangle - Pygame - immediate mode (legacy)
Hello Triangle - tkinter
Hello Triangle - tkinter - immediate mode (legacy)
Hello Cube - GLUT
Hello Cube - GLUT - OpenGL 4.1 core (macOS)
Hello Cube - GLUT - immediate mode (legacy)
Hello Cube - GLFW
Hello Cube - GLFW - OpenGL 4.1 core (macOS)
Hello Cube - GLFW - immediate mode (legacy)
Hello Cube - Pygame
Hello Cube - Pygame - OpenGL 4.1 core (macOS)
Hello Cube - Pygame - immediate mode (legacy)
Hello Cube - tkinter
Hello Cube - tkinter - immediate mode (legacy)
OpenGL 4.6, Direct State Access (DSA), Spir-V Shader Program

Visualizing a 3D NumPy array with PyOpenGL

Geometry
example/python/geometry_shader/geometry_001/geo.py

Tessellation
example/python/tessellation_shader/tessellation_001/tess.py

OpenGL 4.6, Python OpenGL 4.6, GLM navigation

OpenGL 4.6, Python OpenGL 4.6, freetype text

OpenGL 4.6, Python OpenGL 4.6, voxel ray tracing

Relief mapping with geometry shader

no SSAO, diffuse light
fixed SSAO
kernel SSAO

2D rounded rectangle with shadow

See
Immediate mode and legacy OpenGL