位置: 编程技术 - 正文

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裁剪平面)

  • 所得税结转本年利润
  • 月末一般无余额的有
  • 被投资方宣告发放股票股利
  • 备用金支出怎么记账
  • 报税界面
  • 收到诉讼状之后怎么办
  • 库存商品进项税额转出分录怎么写
  • 多付的货款怎么追回
  • 做税审报告费如何做分录?
  • 宣传费税前扣除标准
  • 个税手续费返还比例
  • 三证合一后有效期多久
  • 企业为一般纳税人税率多少
  • 产品售后维修费分录
  • 未办理房屋预售许可证怎么处理
  • 简述分期收款业务的处理流程
  • 地税退税怎么做分录
  • 增值税发票开具错误重开该怎么做会计分录?
  • 公积金超出上限部分
  • 总公司和分公司的关系证明
  • 工会经费申报表的应税项应该怎样填写
  • 职工福利费扣除率是多少
  • 发票金额大于报销金额可以吗
  • 公司总经理报销找谁签字
  • 鸿蒙3.0内测申请成功显示名额已满
  • 魁北克位置地图
  • 公司撤股需走什么程序
  • 谷歌网页小恐龙
  • thinkphp 5.0.24 rce
  • css如何设置渐变色
  • php ffi 性能
  • 奥杜邦的祈祷经典语录
  • 微信登录接口购买
  • 施工单位奖金分配方案
  • 计提事业发展基金分录
  • PostgreSQL分区表(partitioning)应用实例详解
  • 以房抵债的税会退税吗
  • 会计需要装订资料有哪些
  • 关联企业债资比怎么计算
  • SQLserver2014(ForAlwaysOn)安装图文教程
  • sql server存储过程写法
  • 本年利润和利润分配有什么区别
  • 预期报酬率和期初报酬率
  • 本年利润亏损还需要交所得税吗
  • 开红字发票需要做收回原发票吗?
  • 使用积分换取物的软件
  • 企业以现金形式发工资
  • 购买汽车轮胎的注意事项
  • 管理费用抵扣企业所得税的比例
  • 净资产越来越少会有什么风险
  • 土地承包费和土地租赁费收入记账
  • 资产已报废折旧怎么算
  • 把上级机关来文转给下级机关的通知
  • 会计事务所给的发票
  • 作废的现金支票可以直接碎掉吗
  • 发货就要开票吗
  • 预计负债的会计和税务处理
  • 商业企业费用的计算方法
  • 自动清理河道垃圾船
  • 安装centos6.10
  • 硬盘uefi启动安装系统
  • windows自带搜索引擎
  • win7旗舰版系统激活密钥
  • win7远程桌面连接怎么设置
  • Cocos2dx3.2 Crazy Tetris 制作简单的凸多边形刚体
  • 微信小程序用户名怎么改名
  • jquery实战
  • eval()方法
  • jsonp实现动态加载文件
  • 基于JAVASCRIPT实现的可视化工具是
  • linux shell 中 2>&1的含义
  • unicode编码实现方案
  • vuecli脚手架是干什么的
  • 如何用python编写一个程序
  • python saga
  • 如何查询企业股票代码
  • 在税盘上怎么申请电子发票
  • 国家税务总局全国增值税查验平台
  • 招投标法实施条例是哪一年修正的
  • 江苏省国家税务局总局官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设