gpt4 book ai didi

python-3.x - 无法从 OpenGL_accelerate 加载 numpy_formathandler 加速器

转载 作者:行者123 更新时间:2023-12-05 07:09:38 26 4
gpt4 key购买 nike

我正在学习 Opengl,我遇到了这个问题,但无法解决。所以这里是我在窗口打开后收到的错误消息,只有背景:无法从 OpenGL_accelerate 加载 numpy_formathandler 加速器

我的脚本使用一些基本的现代 Opengl 抽象成类,使用 numpy 处理数组中的数据。它只绘制 2 个三角形。

from PyE import App
from PyE.Opengl import VBuff, Shader

from numpy import array, float32
from OpenGL.GL import (
glClear, glClearColor, glDrawArrays, glUseProgram,glEnableClientState,
GL_TRIANGLES, GL_COLOR_BUFFER_BIT, GL_FLOAT,GL_VERTEX_ARRAY
)


app = App(1080, 720, "Test Window")

glClearColor(.1,.1,.1,1.)


positions = [ 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0,
0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0]

positions = array(positions, dtype=float32)

sh = Shader("test.sl")
vb = VBuff(positions, sh)

@app.mainLoop
def Draw():
glClear(GL_COLOR_BUFFER_BIT)
vb.bind()
glUseProgram(sh.prog_id)
glDrawArrays(GL_TRIANGLES,0,6)
glUseProgram(0)
vb.unbind()


if __name__ == "__main__":
Draw()

有关详细信息,我在使用 python 3.7.6 的 Windows 10 上。希望有人能帮助我 ;) 祝你有美好的一天。

最佳答案

我发现了。

您需要从 Python 扩展包的非官方 Windows 二进制文件下载并安装包。

您需要选择这些包:

  • numpy (+mkl)
  • 科学
  • PyOpenGL
  • PyOpenGL_accelerate
  • 游戏
  • 自由暴饮暴食(MSVG)

如何找出哪个是正确的?查看您的 Python 版本,对我来说是 3.8.5 。在包名称上有一个“cp”,旁边有一个数字。它对应于Python的版本。就我而言,我将为 python 3.8x 使用 cp38

numpy-1.19.1+mkl- cp38 - cp38 -win_amd64.whl

下载后,只需使用 pip 安装即可。 (注意安装顺序)。

pip install numpy-1.19.1+mkl-cp38-cp38-win_amd64.whl
pip install scipy-1.5.2-cp38-cp38-win_amd64.whl
pip install PyOpenGL-3.1.5-cp38-cp38-win_amd64.whl
pip install PyOpenGL_accelerate-3.1.5-cp38-cp38-win_amd64.whl
pip install pygame-1.9.6-cp38-cp38-win_amd64.whl

对于 GLUT,将 freeglut.dll 复制到 C:/Windows 目录。

copy freeglut.dll C:\Windows

链接:

Unofficial Windows Binaries for Python Extension Packages

Freeglut Windows Development Libraries

关于python-3.x - 无法从 OpenGL_accelerate 加载 numpy_formathandler 加速器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61495735/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com