跳转到主要内容

基于ctype的pyopengl-tkinter的OpenGL帧

项目描述

pyopengltk

Tkinter - 使用ctypes的OpenGL帧

基于ctypes的pyopengl-tkinter的OpenGL帧(无需编译togl)

由Jon Wright收集,2018年1月。

基本示例

此示例创建了一个包含整个窗口的OpenGLFrame的窗口。我们配置它以动画(不断重绘)的方式清除屏幕,使用绿色。包括了一个简单的帧率计数器。上下文信息被打印到终端。

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()

Github上的仓库还包含更多示例。

安装

从PyPI

pip install pyopengltk

从源

git clone https://github.com/jonwright/pyopengltk
cd pyopengltk
pip install .

归属

基于他人的工作。

C + Tcl/Tk示例

Python + Tkinter(无pyopengl)示例

pyopengl

  • pyopengl/Tk/__init__.py 复制了大量的代码。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

pyopengltk-0.0.4.tar.gz (11.2 kB 查看哈希值)

上传时间 源代码

构建分布

pyopengltk-0.0.4-py2.py3-none-any.whl (12.0 kB 查看哈希值)

上传时间 Python 2 Python 3

支持