An opengl frame for pyopengl-tkinter based on ctype
Project description
pyopengltk
Tkinter - OpenGL Frame using ctypes
An opengl frame for pyopengl-tkinter based on ctypes (no togl compilation)
Collected together by Jon Wright, Jan 2018.
Basic Example
This example creates a window containing an OpenGLFrame
filling the entire window. We configure it to animate
(constantly redraw) clearing the screen using a green color.
A simple framerate counter is included.
The context information is printed to the terminal.
import time
import tkinter
from OpenGL import GL
from pyopengltk import OpenGLFrame
class AppOgl(OpenGLFrame):
def initgl(self):
"""Initalize gl states when the frame is created"""
GL.glViewport(0, 0, self.width, self.height)
GL.glClearColor(0.0, 1.0, 0.0, 0.0)
self.start = time.time()
self.nframes = 0
def redraw(self):
"""Render a single frame"""
GL.glClear(GL.GL_COLOR_BUFFER_BIT)
tm = time.time() - self.start
self.nframes += 1
print("fps",self.nframes / tm, end="\r" )
if __name__ == '__main__':
root = tkinter.Tk()
app = AppOgl(root, width=320, height=200)
app.pack(fill=tkinter.BOTH, expand=tkinter.YES)
app.animate = 1
app.after(100, app.printContext)
app.mainloop()
The repository on Github also contains more examples.
Install
From PyPI:
pip install pyopengltk
From source:
git clone https://github.com/jonwright/pyopengltk
cd pyopengltk
pip install .
Attributions
Based on the work of others.
C + Tcl/Tk example:
- Project URL : http://github.com/codeplea/opengl-tcltk/ (zlib license)
- Article at : https://codeplea.com/opengl-with-c-and-tcl-tk
Python + Tkinter (no pyopengl) example:
- Project URL : http://github.com/arcanosam/pytkogl/ (The Code Project Open License)
- Article at: http://www.codeproject.com/Articles/1073475/OpenGL-in-Python-with-TKinter
pyopengl
- Large regions of code copied from
pyopengl/Tk/__init__.py
.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyopengltk-0.0.4.tar.gz
(11.2 kB
view hashes)
Built Distribution
Close
Hashes for pyopengltk-0.0.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 664c9c97e7f24d7664f4560064e4a4dc8a40880337483080f1b2937de052379e |
|
MD5 | 3a14360ecefc3d7a2ab99d12ffaa4cd8 |
|
BLAKE2b-256 | 7e7f09782e32c071d4774321b9f8349a5e0f11258930e03a28ffb6c978cbe4b8 |