位置: 编程技术 - 正文

Begin OpenGL with Python-1st Day,draw a simple sample.

编辑:rootadmin

推荐整理分享Begin OpenGL with Python-1st Day,draw a simple sample.,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

某个老板忽然有一天想到要画3D图,于是作者遭殃了……

OK,首先需要Python和pyopengl……

然后需要一块支持OpenGL的显卡,我不是开玩笑,我第一个程序夭折就是因为显卡不支持。

《OpenGL编程指南》这本书很&#;得参考。

初始化glut设置显示模式创建窗口要做的事情主循环

首先画一个点:

drawFunc里面显示的是画图的函数。

from OpenGL.GL import *from OpenGL.GLUT import *

def drawFunc():

Begin OpenGL with Python-1st Day,draw a simple sample.

glBegin(GL_POINTS)

glVertex2d(0,0)

glEnd()

glFlush()

glutInit()glutInitDisplayMode(GLUT_SINGLE|GLUT_RGBA)glutCreateWindow("second")glutDisplayFunc(drawFunc)glClearColor(0.0,0.0,0.0,1.0)glutMainLoop()

以下代码用手工画了球上的所有点:

两个函数drawFunc是用来画图get_param是用来抓行为并进行重绘的。我知道用全局变量不大好。这只是试验品。

事实上代码还没完成,但是我要睡觉了。嘿嘿。

import mathfrom OpenGL.GL import *from OpenGL.GLUT import *position=[]def init(): glClearColor(0.0,0.0,0.0,1.0)def drawFunc(theta_ref=0,phi_ref=0): number=0 glClear(GL_COLOR_BUFFER_BIT) glBegin(GL_POINTS) r=[1]* for theta in [x/*math.pi-theta_ref/*math.pi for x in range(0,,)]: z=r[number]*math.cos(theta) for phi in [x/*math.pi-phi_ref/*math.pi for x in range(0,,)]: x=r[number]*math.sin(theta)*math.cos(phi) y=r[number]*math.sin(theta)*math.sin(phi) glVertex3f(x,y,z) number&#;=1 glEnd() glFlush()def get_param(*arg,**args): print(globals()['position']) if len(arg)==4: if arg[1]==0 and globals()['position']==[]: globals()['position']=[arg[2],arg[3],arg[2],arg[3]] else: globals()['position'][2:]=[arg[2],arg[3]] if len(arg)==2: globals()['position'][0]=globals()['position'][0]&#;arg[0]-globals()['position'][2] globals()['position'][1]=globals()['position'][1]&#;arg[1]-globals()['position'][3] globals()['position'][2]=arg[0] globals()['position'][3]=arg[1] drawFunc(globals()['position'][0],globals()['position'][1])glutInit()glutInitDisplayMode(GLUT_SINGLE|GLUT_RGBA)glutInitWindowSize(,)glutCreateWindow("second")glutMouseFunc(get_param)glutMotionFunc(get_param)glutDisplayFunc(drawFunc)init()glutMainLoop()

OpenGL矩阵API的使用方法 在OpenGL1.x中包含了一系列的矩阵操作函数,下面我对这些函数的使用方式做个总结。在介绍这些函数之前,我先引入一些数学符号以便更简明的表达我

opengl shader 学习 随笔四 一个典型的shader程序,看完这个基本shader的流程就没有问题了。constchar*vShader={//Vertexshader#versioncorenuniformUniforms{vec3translation;floatscale;vec4rotation;boolenable

OpenGL基础图形编程 转载:

标签: Begin OpenGL with Python-1st Day,draw a simple sample.

本文链接地址:https://www.jiuchutong.com/biancheng/373175.html 转载请保留说明!

上一篇:opengl GLSL基本语法 学习 随笔二(opengl glbegin)

下一篇:OpenGL矩阵API的使用方法(opengl arb)

  • 非居民企业享受协定待遇
  • 建筑安装增值税税负率行业标准
  • 生产企业的基础设施是指
  • 建筑发票一般开几个点
  • 实物投资账务处理
  • 大病医疗保险能税前扣除吗
  • 房产过户需要交个人所得税吗
  • 核定征收所得税税率
  • 营改增施工企业哪些能退
  • 建筑企业如何管理资质证书
  • 小企业发生销售折让的原因
  • 海关进口增值税发票抵扣期限
  • 国税局可以开增值税专用发票吗
  • 收到子公司分红需要交所得税吗?
  • 跨地区经营建筑企业预缴增值税可以先开票后预缴吗
  • 捐赠允诺是否有法律约束力?
  • 当年亏损可以用以前年度来弥补吗
  • 商贸公司购买货物会计分录
  • 支付宝对公账户还款清零要多久
  • 个体户的公账怎么操作
  • 发票认证后失控
  • 供应商质量问题通知函范文
  • 关联公司代付款协议
  • 疏通下水道入什么经络
  • 实收资本未到位借款利息可以税前扣除吗
  • 中小企业信用服务平台
  • 现金支票丢了
  • 流动资金借款是一般借款还是专门借款
  • 垃圾清运工程师
  • 存货跌价准备是谁的备抵账户
  • 广告制作费属于劳务还是服务
  • 税务局返还的手续费需开发票吗
  • php mb_convert_encoding
  • 支付给代理机构的手续费计入
  • php程序开发范例宝典光盘
  • 支付违约金可以要求开发票吗
  • 业务招待费会计分录
  • phpcrawl
  • 工地事故赔付
  • torch训练模型
  • 移动端适配 px
  • pdca安全管理方法
  • discuz去除版权
  • 冲减多计提的工资怎么做账
  • 其他应收款个人挂账很大该怎么处理
  • 公司代垫款如何记账
  • 安装使用漏电保护器是属于哪种安全措施
  • 报销货物运输费需要什么凭证
  • 被投资公司注销把钱转到投资公司怎么做帐
  • PostgreSQL教程(十八):客户端命令(2)
  • 代垫电费收回开票吗
  • 用友t3软件财务软件具体操作
  • 哪些业务可以进入共享服务中心
  • 本月没有认证的进项税怎么做分录
  • 营改增后物业公司账务处理
  • 工业企业检查表
  • 企业如何建账做账
  • 详解标准mysql(x64) Windows版安装过程
  • mysql怎么清理干净
  • 如何找回windows删除的文件
  • skyleap用不了
  • win7语言栏不见了 各种方法都试过了
  • Mac怎么去掉开机密码
  • graphics.dll
  • win10qq在哪里启动
  • 虚拟机命令cd
  • win10系统怎么刻录光盘?win10刻录光盘详细图文步骤
  • spes监控原理
  • cocos输入框
  • linux的安装
  • unity shader lerp
  • node.js网站
  • android 高德地图收费
  • js实现@功能
  • javascript面向对象吗
  • jquery找父级
  • 深入理解Python特性 达恩·巴德尔
  • 小规模纳税人开3%专票怎么交税
  • 东营为什么没有疫情
  • 税务非正常认定条件
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设