位置: 编程技术 - 正文

OpenGL学习08_几何变换(opengl 绘制)

编辑:rootadmin

推荐整理分享OpenGL学习08_几何变换(opengl 绘制),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:opengl几何变换,opengl入门教程(精),opengl属于几何造型软件,opengl二维几何变换流程图,opengl几何变换,opengl二维几何变换流程图,opengl几何变换,opengl几何变换,内容如对您有帮助,希望把文章链接给更多的朋友!

OpenGL需要通过视图变换,模型变换,投影变换,视口变换,绘制场景这一系列步骤将图像绘制出来。

1、模型变换和视图变换

从“相对移动”的观点来看,改变观察点的位置与方向和改变物体本身的位置与方向具有等效性。在OpenGL中,实现这两种功能甚至使用的是同样的函数。由于模型和视图的变换都通过矩阵运算来实现,在进行变换前,应先设置当前操作的矩阵为“模型视图矩阵”。设置的方法是以GL_MODELVIEW为参数调用glMatrixMode函数。

通常,我们需要在进行变换前把当前矩阵设置为单位矩阵,

进行模型和视图变换,主要涉及到三个函数:glTranslate*,把当前矩阵和一个表示移动物体的矩阵相乘。三个参数分别表示了在三个坐标上的位移&#;。glRotate*,把当前矩阵和一个表示旋转物体的矩阵相乘。物体将绕着(0,0,0)到(x,y,z)的直线以逆时针旋转,参数angle表示旋转的角度。glScale*,把当前矩阵和一个表示缩放物体的矩阵相乘。x,y,z分别表示在该方向上的缩放比例。

2、投影变换

OpenGL学习08_几何变换(opengl 绘制)

投影变换就是定义一个可视空间,可视空间以外的物体不会被绘制到屏幕上。OpenGL支持两种类型的投影变换,即透视投影和正投影。投影也是使用矩阵来实现的。如果需要操作投影矩阵,需要以GL_PROJECTION为参数调用glMatrixMode函数。

通常,我们需要在进行变换前把当前矩阵设置为单位矩阵。使用glFrustum函数可以将当前的可视空间设置为透视投影空间,也可以使用更常用的gluPerspective函数。正投影相当于在无限远处观察得到的结果,它只是一种理想状态。但对于计算机来说,使用正投影有可能获得更好的运行速度。使用glOrtho函数可以将当前的可视空间设置为正投影空间。

3、视口变换当一切工作已经就绪,只需要把像素绘制到屏幕上了。这时候还剩最后一个问题:应该把像素绘制到窗口的哪个区域呢?通常情况下,默认是完整的填充整个窗口,但我们完全可以只填充一半。(即:把整个图象填充到一半的窗口内),使用glViewport来定义视口。其中前两个参数定义了视口的左下脚(0,0表示最左下方),后两个参数分别是宽度和高度。

下面通过一个例子来看一下OpenGL的变换如何使用。

本文由CC原创总结,如需转载请注明出处:

OpenGL学习_裁剪平面ClipPlane 除了视景体的6个裁剪平面(左、右、底、顶、近和远)之外,还可以另外再指定最多可达6个的其他裁剪平面,对视景体施加进一步的限制。每个平面都

NVIDIA Jetson TK1学习与开发(八):图文详解OpenGL在Jetson TK1上的安装和使用 图文详解OpenGL在JetsonTK1上的安装和使用1、入门介绍与资源推介OpenGL(全写OpenGraphicsLibrary)是个定义了一个跨编程语言、跨平台的编程接口规的专业的图

OpenGL ES2.0 的三种变量类型(uniform,attribute和varying) 1.uniform变量uniform变量是外部application程序传递给(vertex和fragment)shader的变量。因此它是application通过函数glUniform**()函数赋的。在(vertex和fragment)sha

标签: opengl 绘制

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

上一篇:OpenGl学习之坐标变换(下)(opengl的坐标系)

下一篇:OpenGL学习09_裁剪平面ClipPlane(opengl裁剪平面)

  • 纳税人规模证明是什么
  • 如何查询企业税务状态
  • 文化事业建设费减免政策
  • 办公楼出租价格怎么算
  • 公司的车不处理违章可以吗
  • 借款利息抵扣土增
  • 关联交易金额是付款还是入账
  • 退税会计科目怎么做账
  • 钱收多了退回去怎么说好
  • 其他业务利润包括哪些科目
  • 计提固定资产折旧,车间使用的固定资产折旧1400
  • 经营活动现金流增加的原因
  • 基本医疗保险基金与生育保险基金
  • 结转应交所得税属于利润分配吗
  • 企业收到跨年度的政府补贴款,是否计入当年企业所得税
  • 供应商采购额变动原因有哪些
  • 文化创意企业一般纳税人开票产生的税率为多少?
  • 未达起征点纳税申报表怎么填
  • 月末计提税金数据从哪得来的
  • 待清算直销银行
  • 网上办税服务厅app下载
  • 第三方支付模式的交流流程
  • 投资性房地产转为存货
  • 原始凭证的基本内容包括会计科目吗
  • 全资子公司效益怎么算
  • 怎样冲回多提应付职工薪酬?
  • 解除租赁合同可以退押金吗
  • 跨年会计分录错误
  • 其他应付款挂多少有风险
  • 高新补贴是什么意思
  • win10电脑声道怎么设置
  • 补缴增值税滞纳金天数
  • 前期差错更正怎么理解
  • 结转损益类收入科目的余额会计分录
  • cpqeadm.exe是什么进程 可以关闭吗 cpqeadm进程查询
  • vue中使用gojs
  • 资产处置损益计税基础是什么
  • php管理员权限控制
  • 增值税专用发票查询系统官方网站
  • css滚动条自动滚动
  • 开具销项负数发票 矿产品什么意思
  • rename批处理重名
  • 补提企业所得税财务报表应该如何调整
  • 收押金退押金会计分录
  • 退税还没到
  • wordpress怎么降级
  • 电脑word怎么学
  • 非正常户是黑名单吗
  • 售后租回融资租赁帐务处理怎么做?
  • 建筑业预缴增值税计算公式
  • 期初余额调整怎么做凭证
  • 购买材料增值税税率
  • 注册资本认缴到期
  • 小规模纳税人和一般纳税人的区别
  • 企业长期股权投资增加说明什么
  • 公司注销前的资产负债
  • 职工社会保险费是什么意思
  • 环境检测费账务处理
  • 企业注销时实收资本怎么处理
  • 跨月报销的凭证有哪些
  • 银行存款日记账怎么填
  • 蓝字发票怎么作废
  • 公对私 预付款 税
  • sql数据库口令
  • sqlserver远程连接设置
  • mssql查询语句
  • centos7如何设置中文
  • redhat下载教程
  • windows7脚本编程和命令行指南
  • 自动切换桌面
  • opengl调色
  • mmap实现原理
  • Node.js中的construct构造函数
  • Linux Shell中判断进程是否存在的方法
  • 批处理打开网络连接
  • django应用开发实战
  • python 终端
  • jquery里的each()是什么函数?你是如何使用他的?
  • 昌吉市税务大厅
  • 深圳税务开票软件发票下载
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设