awesome-python icon indicating copy to clipboard operation
awesome-python copied to clipboard

Add moderngl

Open JamesC01 opened this issue 2 years ago • 0 comments

What is this Python project?

This project provides modern pythonic bindings to OpenGL.

What's the difference between this Python project and similar ones?

ModernGL vs PyOpenGL

--Compared to PyOpenGL it is more pythonic, and easier to use and learn. --Faster than PyOpenGL in certain cases. --Less amount of code for the same behaviour.

# PyOpenGL
vbo1 = glGenBuffers(1)
GL.glBindBuffer(GL_ARRAY_BUFFER, vbo1)
GL.glBufferData(GL_ARRAY_BUFFER, b'Hello World!', GL_STATIC_DRAW)

vbo2 = glGenBuffers(1)
GL.glBindBuffer(GL_ARRAY_BUFFER, vbo2)
GL.glBufferData(GL_ARRAY_BUFFER, b'\x00' * 1024, GL_DYNAMIC_DRAW)
# ModernGL
vbo1 = ctx.buffer(b'Hello World!')
vbo2 = ctx.buffer(reserve=1024, dynamic=True)

Another pull request was made years ago here: #893 But it went stale. I'm actually surprised it isn't already on the list, it seems fairly popular, and quite nice.

Anyone who agrees with this pull request could submit an Approve review to it.

JamesC01 avatar Jul 14 '22 19:07 JamesC01