pyOpenGL Installation

Package             Version
------------------- -------
numpy 1.14.2
PyOpenGL 3.1.0
PyOpenGL-accelerate 3.1.0

demo1

 # -*- coding: utf-8 -*-
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import * def init():
glClearColor(1, 1, 1, 1)
gluOrtho2D(-1, 1, -1, 1) def triangle():
glClear(GL_COLOR_BUFFER_BIT)
glColor3f(1, 0, 0)
glBegin(GL_TRIANGLES) glColor3f(1, 0, 0)
glVertex2f(-1, -1) glColor3f(0, 1, 0)
glVertex2f(1, -1) glColor3f(0, 0, 1)
glVertex2f(0, 1) glEnd()
glFlush() def main():
glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB)
glutInitWindowSize(800, 600)
glutInitWindowPosition(50, 50)
glutCreateWindow("Triangle")
glutDisplayFunc(triangle)
init()
glutMainLoop() if __name__ == '__main__':
main()

demo2

# -*- coding: utf-8 -*-
from OpenGL.GL import * from OpenGL.GLU import *
from OpenGL.GLUT import * def drawFunc():
# 清楚之前画面
glClear(GL_COLOR_BUFFER_BIT)
glRotatef(0.01, 3, 2, 1) # (角度,x,y,z)
glutWireTeapot(0.5)
glutWireCube(0.5)
# 刷新显示
glFlush() # 使用glut初始化OpenGL
glutInit()
# 显示模式:GLUT_SINGLE无缓冲直接显示|GLUT_RGBA采用RGB(A非alpha)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA)
# 窗口位置及大小-生成
glutInitWindowPosition(0, 0)
glutInitWindowSize(400, 400)
wnd = glutCreateWindow(b"first")
# 调用函数绘制图像
glutDisplayFunc(drawFunc)
glutIdleFunc(drawFunc)
# 主循环
glutMainLoop()

[ Python ] OpenGL的更多相关文章

  1. 初试PyOpenGL四 (Python+OpenGL)GPU粒子系统与基本碰撞

    这篇相当于是对前三篇的总结,基本效果如下: 在初试PyOpenGL一 (Python+OpenGL)讲解Pyopengl环境搭建,网格,球体,第一与第三人称摄像机的实现.在初试PyOpenGL二 (P ...

  2. (Python OpenGL)【5】平移 PyOpenGL

    (Python OpenGL) 原文:http://ogldev.atspace.co.uk/www/tutorial06/tutorial06.html  (英文) 下面是我翻译过来的: 背景 在本 ...

  3. (Python OpenGL)【4】Uniform变量 PyOpenGL

    (Python OpenGL) 原文:http://ogldev.atspace.co.uk/www/tutorial05/tutorial05.html(英文) __author__ = " ...

  4. (Python OpenGL)【3】着色器 PyOpenGL

    (Python OpenGL)现在开始我们使用着色器来进行渲染.着色器是目前做3D图形最流行的方式. OpenGL的渲染管线流程: 数据传输到OpenGL—>顶点处理器—>细分着色—> ...

  5. 【Python OpenGL】【2】第一个三角形(Pyopengl)

    根据顶点缓存来生成图元(Python OpenGL) 原文(英文链接)http://ogldev.atspace.co.uk/www/tutorial03/tutorial03.html __auth ...

  6. (Python OpenGL)【 0】关于VAO和VBO以及OpenGL新特性

    (Python OpenGL)关于新版OpenGL需要了解的: 随着OpenGL状态和固定管线模式的移除,我们不在用任何glEnable函数调用,而且也不会有glVertex.glColor等函数调用 ...

  7. (Python OpenGL)【1】你好顶点 PyOpenGL

    原文链接(C语言环境)(Python OpenGL) 我用python实现的代码: __author__ = "WSX" from OpenGL.GLUT.freeglut imp ...

  8. 初试PyOpenGL一 (Python+OpenGL)

    很早就一直想学Python,看到一些书都有介绍,不管是做为游戏的脚本语言,还是做为开发项目的主要语言都有提及(最主要的CUDA都开始支持Python,CUDA后面一定要学),做为先熟悉一下Python ...

  9. Python,OpenGL生命游戏

    初学Python和OpenGL,练手的第一个小程序life.py,这个小程序在日后会不断调整,增加类.优化判断及操作 执行效果: 按正规生命游戏的规则: 1.周围生命等于3时产生生命 2.周围生命等于 ...

  10. Python OpenGL学习(1): 环境配置及错误篇

    系统环境是:Ubuntu 14.04 个人首次接触OpenGL,学到哪就写到哪. 1.模块安装: sudo apt-get install python-openglpip install PyOpe ...

随机推荐

  1. List分组

    IEnumerable<IGrouping<string, SysMap>> query = sysMapList.GroupBy(pet => pet.Mobile);

  2. SAP MDM 简介 --- MDM 实施方法论 - 企业的SOA 数据总线基础

    SAP NetWeaver Master Data Management (MDM) ,SAP NetWeaver 主数据管理,MDM可以进行数据合并,降低数据维护成本,确保跨系统的数据一致性,加快业 ...

  3. 终于把eShopOnContainer部署成功了。

    先上图说明一下,然后把步骤一部一部写上来吧.

  4. java数值比较

    import org.junit.Test; public class NumberCompare { /** * 数值比较,以Float为例 */ @Test public void testNam ...

  5. numpy学习之创建数组

    1.使用array函数创建数组 import numpy as np ndarray1 = np.array([1, 2, 3]) array([1, 2, 3]) ndarray2 = np.arr ...

  6. [原]Jenkins(十九) jenkins再出发之jenkins邮件通知

    1.下载插件: 2.配置插件: 3.邮件插件配置 4.设置触发器:

  7. Mesos:数据库使用的持久化卷

    摘要: Mesos为很多不同的用户场景都提供了精妙的,考虑周全的API.持久化卷是由新的acceptOffers API引入的特性.持久化卷让用户可以为Mesos构建数据库框架,Mesos可以在任何不 ...

  8. cs231n笔记(二) 最优化方法

    回顾上一节中,介绍了图像分类任务中的两个要点: 假设函数.该函数将原始图像像素映射为分类评分值. 损失函数.该函数根据分类评分和训练集图像数据实际分类的一致性,衡量某个具体参数集的质量好坏. 现在介绍 ...

  9. 【C++/实验三】类和对象

    1.定义一个矩形类,有长,宽两个属性,有成员函数计算矩形的面积. 在该矩形类中,我做了5个主要的测试. 构造函数带默认值参数,利用默认值参数计算矩形面积:rectangle(double x=2.0, ...

  10. Coffee and Coursework (Hard Version)

    Coffee and Coursework (Hard Version) time limit per test 2.5 seconds memory limit per test 256 megab ...