环境:python3.6.5、Windows10、PyOpenGL3.1.0、GLFW3.2.1

OpenGL是现在比较流行的图形处理库,而且python3已经有可以专门支持OpenGL的库:pyopengl
使用

pip install pyopengl

就可以安装。

GLFW是一个窗口工具包。它可以在http://www.glfw.org/download.html 这个网页上下载,由于我下载的不是源码,所以本博客不探讨源码的安装过程,读者可以自行探索。下载完成后要配置环境变量。将GLFW的库文件位置添加到环境变量中的path中。过程如下:
点击“我的电脑”右键选择“属性”,弹出如下窗口,然后依次点击“高级系统设置”,“高级”,“环境变量”

然后在系统变量中找到path,点击“编辑”,“新建”,将类似图中的地址添加进去.
(注意:此处的目录应该是读者自己下载的GLFW安装目录。其中目录lib-vc2015也可以是其它形如lib-vc2012等,它取决于你自己的vc编码的版本,比如vs2015之后的版本对应vc2015,版本vs2012对应vc2012)

路径设置完成后,要关闭你的python编译软件然后重新打开,你就可以在python中使用GLFW了。
还需要注意的是在python中使用GLFW时除了GLFW软件外还需要一个调用该API的库。我使用的是《python极客项目编程》一书中第9章和第10章用到的glfw.py文件。最后再上一张第10章正确运行的图片吧。这个粒子效果还是挺漂亮的。代码在https://github.com/electronut/pp/tree/master/particle-system/ 。例子中用到的其它函数可以在上一个目录下的文件夹common中找到。

P.S.
如果在使用过程中遇到了窗口程序一闪而过,没有持续悬浮,可以检查下

glfw.glfwTerminate()

这条语句的位置。这条语句的作用是释放GLFW的内存。

python3环境下使用OpenGL和GLFW两种库进行编码相关推荐

  1. SCO UNIX环境下自动增加网关的两种方法

    有两种方法可实现UNIX系统启动时自动增加网关. 方法一:编辑产生一个/etc目录下的gateways文件. 以root注册. #cd /etc #vi gateways 在该文件中增加以下语句: n ...

  2. python3环境下“No module named nibabel”的解决办法

    写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友. 目录 一.问题 二.根本原因 三.解决办法 一.问题 目前,尝试着通过python读取医学三维图像nrrd格式,运行代码 ...

  3. python3环境下“No module named nrrd”的解决办法

    写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友. 目录 一.问题 二.根本原因 三.解决办法 一.问题 目前,尝试着通过python读取医学三维图像nrrd格式,运行代码 ...

  4. python3环境下 tensorflow环境中经常遇到'*' has type str, but expected one of: bytes问题的解决

    原文:http://blog.csdn.net/sparkexpert/article/details/70230072 python3环境下 tensorflow环境中经常遇到'*' has typ ...

  5. linux系统python3环境下安装pymysql模块

    1.安装python3环境下的pip3 sudo apt-get install python3-pip 2.使用pip3安装pymysql模块 sudo pip3 install pymysql

  6. python3环境下使用cv_bridge

    环境:ubuntu18.04.ros-melodic 由于ros自带的python版本是2.7,系统中的cv_bridge是用python2编译的,如果在python3环境中使用cv_bridge,会 ...

  7. python环境变量配置_Python的安装、认识、配置环境变量以及helloworld打印的两种方式

    Python的安装.认识.配置环境变量以及helloworld打印的两种方式 一. 安装和配置环境变量 首先我们去到Python的官方下载地址根据自己的电脑机型来下载最新的python安装包,网址是h ...

  8. linux删除用户删不了怎么办,Linux下完全删除用户的两种方法

    Linux操作 实验环境:Centos7虚拟机 首先创建一个普通用户 gubeiqing . [root@localhost ~]# useradd gubeiqing [root@localhost ...

  9. CentOS7下配置Supervisor自启动的两种方法

    很多网友留言问如何配置Supervisor 自启动,现将如何在CentOS7下配置Supervisor自启动的两种方法整理如下: 一.方法一 直接将启动命令加入到/etc/rc.d/rc.local中 ...

最新文章

  1. SVM讲的成体系的,自圆其说较好的一篇,上午没读完,KKT第二部分不等式有疑问没弄懂,复制后继续读完
  2. Node.js包管理器Yarn的入门介绍与安装
  3. 按需路由选择(ODR)原理及实验
  4. matlab冲击噪声,如何用MATLAB生成噪声和冲击混合信号
  5. android 6.0 adb,安卓6.0,adb停用系统更新
  6. 视频监控系统中的平台服务器,【视频监控主机 网络视频集中管理平台服务器】 - 太平洋安防网...
  7. 【离散数学】集合的包含排斥原理
  8. Matlab Tricks(六)—— 矩阵乘法的实现
  9. mysql数据库的操作dao vo_nutzdao+druid使用非数据库实体VO接收返回的对象一直报“Table ‘xxxxx’ doesn't exist”...
  10. Ubuntu18.04 安装wine
  11. [Linux] 通过shell给unix socket发送数据
  12. Navicat for MySQL注册码
  13. intelx79服务器芯片组,Intel X79 高速芯片组是什么
  14. 花生壳内网发布外网可以访问的网站
  15. python使用循环打印九九乘法表python中的99乘法表
  16. 【案例7】NC+ORACLE+系统初始化的完整操作顺序
  17. logiscope系列-使用说明书
  18. Oracle 数据库备份脚本
  19. C++基础-郑莉 11-12章
  20. 计算机图形学阴影的的分类,计算机图形学8_光照模型与阴影处理_.pdf

热门文章

  1. java filechannel 空_FileChannel的基本操作
  2. python怎么玩pdf_如何使用Python玩转PDF各种骚操作?
  3. 简单几步让你实现本地jar包引入到maven当中
  4. js判断对象是否是json对象
  5. Spring Boot——Maven使用SystemPath引用本地jar:ClassNotFoundException
  6. Git——Git基本教程
  7. h5游戏搭建教程php,H5游戏幻梦西游:笑闹天宫搭建教程及演示
  8. php计算机基础知识,计算机基础知识①
  9. phpstrom 操作技巧
  10. WatchOS系统开发大全(8)-WKInterfaceGroup