安装环境:win10 64位操作系统,python3.7

一.安装py库

需要用pip 安装

pip install  PyOpenGL PyOpenGL_accelerate

可能会报错,

是因为没有安装对应的c++库

打开网站https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopengl

找到pyopengl

下载对应的版本,我的是python3.7+win64

下载完后放到python目录的Scripts中然后在该路径下执行命令行

pip install PyOpenGL_accelerate-3.1.-cp37-cp37m-win_amd64.whl

成功安装

再次安装

pip install  PyOpenGL PyOpenGL_accelerate

应该就不会报错了!

二.搭建glut环境(需要glut.h、glut64.dll、glut64.lib三个文件)

链接:https://pan.baidu.com/s/10ksiGaJMslHk9VMxOhFeXg
提取码:2o5o

或者在此下载:https://download.csdn.net/download/bigboysunshine/10396268

或者:https://www.opengl.org/resources/libraries/glut/

下载解压后

将文件夹内 glut.h 放在 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\ 下;

将 .\Release\glut64.lib 放在 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\ 下;

将 .\Release\glut64.dll 放在 C:\Windows\System32 下。

运行一下实例:

# -*- coding: utf-8 -*-
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *
import sys
import numpy as np # 画圆 def circle(x, y, r, n):
theta = np.linspace(0, 2*np.pi, n)
x = x + r * np.cos(theta)
y = y + r * np.sin(theta)
return x, y def plotfunc():
glClear(GL_COLOR_BUFFER_BIT) # 清除之前缓存
glPointSize(3.0) # 设置点大小
glColor3f(1.0, 0.0, 0.0) # 设置点颜色
glBegin(GL_POINTS) # 此次开始,设置此次画的几何图形
x, y = circle(0, 0, 1, 100)
for x_, y_ in zip(x, y):
glVertex2f(x_, y_)
glEnd() # 此次结束
glFlush() # 刷新屏幕 if __name__ == '__main__':
glutInit(sys.argv) #初始化
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB) #设置显示模式
glutInitWindowPosition(100, 100) #窗口打开的位置,左上角坐标在屏幕坐标
glutInitWindowSize(900, 600) #窗口大小
glutCreateWindow(b"Function Plotter") #窗口名字,二进制
glutDisplayFunc(plotfunc) #设置当前窗口的显示回调
glClearColor(1.0, 1.0, 1.0, 1.0) # 设置背景颜色
gluOrtho2D(-5.0, 5.0, -5.0, 5.0) # 设置显示范围
glutMainLoop() # 启动循环

此时,应该可以显示一个椭圆

至此,OpenGL环境搭建完成!

opencv的学习,推荐网站www.opencv.org.cn

参考:

https://blog.csdn.net/BigBoySunshine/article/details/80218245?utm_source=blogkpcl4

https://blog.csdn.net/qq_15602569/article/details/79670880

http://pyopengl.sourceforge.net/

python3.7 安装pyopengl,环境搭建的更多相关文章

  1. 第一章 andriod studio 安装与环境搭建

    原文 http://blog.csdn.net/zhanghefu/article/details/9286123 第一章   andriod studio 安装与环境搭建 一.Android Stu ...

  2. android studio 安装与环境搭建

    转摘自:http://blog.csdn.net/zhanghefu/article/details/9286123 第一章   andriod studio 安装与环境搭建 一.Android St ...

  3. Atitit 图像处理类库 halcon11  安装与环境搭建attilax总结

    Atitit 图像处理类库 halcon11  安装与环境搭建attilax总结 正常安装软件,安装前请先退出其它一切正在运行的程序. 先安装halcon-10.0-windows.exe.安装完成后 ...

  4. cocos2d-x项目101次相遇-安装和环境搭建 -xcode

    cocos2d-x 101次相遇 / 文件夹  1   安装和环境搭建 -xcode  2   Scenes . Director, Layers, Sprites 3   建立图片菜单  4   在 ...

  5. jdk8的安装与环境搭建

    jdk8的安装与环境搭建 jdk8下载网址:https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html ...

  6. 基于Python3.7的robotframework环境搭建步骤

    一.前言 Robot Framework作为公司能快速落地实现UI自动化测试的一款框架,同时也非常适合刚入门自动化测试的朋友们去快速学习自动化,笔者计划通过从搭建逐步到完成自动化测试的过程来整体描述它 ...

  7. Python3入门系列之-----环境搭建

    前  言 最近一直在学习Python,想用笔记的方式记录自己踩过的那些坑.俗话说:好记性不如烂笔头. 分享给想学Python的小伙伴.目前本人在学习Python+selenium.接口自动化,有兴趣的 ...

  8. 一、webpack那点事-安装、环境搭建

    前言: 还记得两年前刚来公司才几个月,经理就安排我去做JS地图相关的维护和开发工作,然后就跟着一个公司老鸟(没俩月他离职了)熟悉地图相关的功能. 本人嘛,那会前端JS实际开发经验也才几个月,然后当我看 ...

  9. Windows 2012 下Redmine安装和环境搭建

    公司在过去一年中处于高速发展创业期,对于技术管理和项目管理没有找到一个很好的管理工具,使用过Teanbition+禅道+SVM的集成管理工具,但是明显各工具之间联系性差,断层严重,不能很好的形成团队成 ...

随机推荐

  1. NGINX负载均衡缓存配置

    环境:VMware-Workstation-12-Pro,Windows-10,CentOS-7.5,Xshell5 1 概述 如果我们的架构是前端负载均衡后端WEB集群时,可以开启nginx的缓存功 ...

  2. 谷歌浏览器:audio如何隐藏下载按钮

    当我们使用原生的audio标签时,可以看到如下的效果. 那么如何让下载按钮隐藏掉呢? 1. controlsList="nodownload" // 这个方法只支持 Chrome ...

  3. Qt事件过滤器和事件的发送

    事件过滤器 /* *事件过滤器不是类,仅仅是QObject类的两个函数:installEventFilter() 和 eventFilter() . *下面讲个例子: * 监视过滤 textEdit的 ...

  4. 026-chmod命令

    语法# chmod [ 选项参数 ]  选择修改权限的对象   权限的改变   目标文件 语义:对哪些目标文件的哪些权限进行修改. (1)# chmod -R ugo +r /home/apple.将 ...

  5. zookeeper 详解

    是 分布式 协调 服务. ZK的工作:注册:所有节点向ZK争抢注册,注册成功会建立一套节点目录树,先注册的节点为Active节点,后注册节点成为standby;监听事件:节点在ZK集群里注册监听动作: ...

  6. MyBatis学习笔记(七)——Mybatis缓存

    转自孤傲苍狼的博客:http://www.cnblogs.com/xdp-gacl/p/4270403.html 一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓 ...

  7. nodepad++ 标签栏无法拖放标签

    nodepad++ 标签栏无法拖放标签设置--首选项--常用--标签栏--锁定(不允许拖放) 去掉这个勾 ps:最近版本的不知道为什么这个设置不生效了,没找到原因,可能是bug,只能等待升级解决了(升 ...

  8. 机器学习、深度学习以及人工智能正在快速演进(ML、DL、AI)

    机器学习.深度学习以及人工智能正在快速演进 机器学习.深度学习和人工智能(ML.DL和AI)是彼此相关的概念,他们正在改变不知多少行业,改变其自身管理模式,同时改变做出决策的方式.显然,ML.DL和A ...

  9. jquery的click无法触发事件

    一个页面需要在加载后勾选table中所有行的checkbox,于是就这样写 $("table thead tr th input[type='checkbox']").click( ...

  10. JS四舍五入保留两位小数

    //四舍五入保留2位小数(若第二位小数为0,则保留一位小数) function keepTwoDecimal(num) { var result = parseFloat(num); if (isNa ...