位置: 编程技术 - 正文

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

发布时间:2024-02-27

推荐整理分享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裁剪平面)

  • 企业生产经营管理包括哪些
  • 支付给派遣员工的工资计入应付职工薪酬吗
  • 股权转让如何进行资产评估的
  • 股票初始计量后按新金融准则计入哪个科目
  • 一张发票能分开做帐务处理吗
  • 建筑业预缴税款都要填哪些表
  • 企业收到的土地补偿款的企业所得税
  • 农产品进项抵扣及申报表填写案例
  • 公司注销前的发言怎么写
  • 抵扣红字发票税点是多少
  • 公司开出的经济补偿金可以税前扣除吗
  • 造价咨询公司在哪里备案
  • 购入厂房时缴的土地增值税如何入账?
  • 进项发票账务处理
  • 地方教育附加费是什么意思
  • 公司奖励旅游算休年假吗
  • 纳税义务发生时间和纳税期限的关系
  • 年终奖需要计入工资交社保吗
  • 失控发票怎么做账处理
  • 企业出售已使用过的固定资产税率
  • 个人借款取得的利息收入要交税吗
  • 当期出售其他权益怎么算
  • 买车的发票可以抵扣吗?
  • 事业单位 会计
  • 笔记本怎么清理D盘
  • win7为什么现在不能用了
  • 使用u盘安装linux
  • 收取违约金如何入账
  • 公司购买自己公司的产品
  • php数组函数 菜鸟
  • 存货跌价准备是什么意思
  • PHP:date_default_timezone_set()的用法_Date Time函数
  • 销项税和进项税抵扣的会计分录
  • 企业所得税税前扣除和不扣除的区别
  • 上个月的未达账项对本月的余额有影响吗
  • vue二级菜单的隐藏与显示
  • 用php编写从大到小排序
  • thinkphp怎么用
  • nginx配置文件格式
  • react中路由有哪些常用组件
  • 民办幼儿园需要什么资质
  • java开发从入门到精通
  • 个税各项减扣标准金额
  • 认缴制注册资金不交可以吗
  • 增值税普票如何开具红字发票
  • 利润表和资产负债表
  • 公司裁员怎么补偿
  • sqlserver2005数据库磁盘满了什么文件能删
  • db2 insert timestamp
  • 建筑公司租赁设备怎么入账
  • mysql如何调优
  • 进项税金抵扣
  • 国有控股企业和国有参股企业的区别
  • 先收款后给发票
  • 质量问题的扣款计入什么科目
  • 润滑油消费税征收环节税屋
  • 国有企业无偿划转股权缴纳印花税
  • 试生产期间的收入如何做账
  • 外籍人员个税汇算清缴流程
  • 代扣代缴的个人所得税在现金流量表
  • 计提了减值准备怎么算折旧额
  • 库存退货怎么做账
  • 无形资产是当月计提折旧吗
  • 新企业设置账簿
  • 原始凭证错误的更正方法
  • 企业所有者权益是指什么
  • mysql5.7.17 zip 解压安装详细过程
  • windowns vista
  • 如何设置windows
  • u盘重装系统电脑
  • linux-swap
  • lsass.exe在哪个文件夹
  • win8系统怎么设置开机密码
  • html概念及作用
  • nodejs发送图片给前端
  • 税控盘登录密码忘了怎么办怎么重置
  • 小规模纳税人销售额怎么算
  • 重庆国税官网网址
  • 新疆税务总局网站官网
  • 百旺税控盘怎样清盘
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号