位置: 编程技术 - 正文

OpenGL学习06-OpenGL变换(opengl learn)

编辑:rootadmin

推荐整理分享OpenGL学习06-OpenGL变换(opengl learn),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:opengl入门教程,opengl入门教程,opengl详解,opengl基础知识,opengl learn,opengl learn,opengl基础教程,opengl入门教程(精),内容如对您有帮助,希望把文章链接给更多的朋友!

绝大多数3D图形并不是真正的3D的。我们使用3D的概念和术语描述看上去像3D的东西,然后把这种3D图形“压平”到2D计算机屏幕上,把3D图形压平为3D图形的过程叫做投影。投影分为正投影和透视投影,不同的投影类型投影过程中使用的变换不同。

OpenGL变换术语:

视图 Viewing 指定观察者或相机的位置

模型 Modeling 在场景中移动物体

模型视图 Modelview 描述视图和模型变换的对偶性

投影 Projection 改变可视区域的大小或重新设置它的形状

视口 Viewport 这是一种伪变换,只是对窗口上的最终输出进行缩放

(1)视觉坐标

视觉坐标是根据观察者的角度而言的,与可能发生的变换无关,可以把她看成是“绝对”的屏幕坐标。因此,视觉坐标表示一种虚拟的固定的坐标系统,常常作为一种参考系使用。

图1显示了两种不同视图所看到的坐标系统,图a,视觉坐标系是根据场景观察者的角度(垂直显示器)来表示的。图b,视觉坐标稍稍旋转,这样就更好的观察z轴的相对位置。从观察着的角度出发,x和y的正方向分别是向右和向上。Z的正方向从原点朝向用户,z的负方向则是沿着与屏幕的垂直方向远离观察者。

图1,来至OpenGL超级宝典

OpenGL在空间进行绘图时,所使用的是笛卡尔坐标系统。在不进行任何变换的情况下,这种坐标系统与前面刚刚介绍的视觉系统相同。

(2)视图变换

视图变换是场景所应用的第一个变换。它用于确定场景的拍摄点。在默认情况下, 在透视投影中,观察者是从原点向z轴的负方向看过去(垂直“穿入”显示器)。这个观察点相对于视觉坐标进行移动,以提供一个特定的拍摄点。当观察者位于原点时,场景中z&#;为正的物体就位于观察者的后面。

视图变换允许把观察点放在自己所希望的任何位置,并允许在任何方向上观察场景。确定视图变换就像在场景中放置照相机并让它志向某个方向。

作为总体原则,在进行任何其他变换之前必须先指定视图变换。原因是视图变换的效果相当于根据视觉坐标系统移动当前所使用的坐标系统。然后,根据最新修改的坐标进行其他所有的后续变换。

OpenGL学习06-OpenGL变换(opengl learn)

(3)模型变换

模型变换用于对模型以及模型内部的特定物体进行操纵。它可以移动物体,对它们进行旋转,或则对它们进行缩放。

(4)模型视图对偶性

根据视图和模型变换的内部效果以及他们场景的最终外观所产生的效果实际上是一样的。向后移动物体和向前移动参考坐标系并没有真正的区别。模型视图这个术语表示我们既可以把这个变换看成是模型变换,也可以把它看成视图变换,他们之间并不存在区别,因此可以将其统称为模型视图变换。

视图变换并没有铁别之处。从本质上说,他只是在绘制物体之前应用到虚拟物体之上的一种模型变换。在场景放置更多的物体时,需要不断指定新的变换。按照约定,最初进行变换作为参照,其他所有变换均为基础。

(5)投影变换

投影变换是在模型视图变换之后应用于物体的顶点之上的。这种投影实际上定义了可视区域,并建立裁剪平面。裁剪平面是3D空间的平面方程式,OpenGL用它来确定几何图形能否被观察者所看到。根据题的说,投影变换指定一个完成的场景(在所有模型变换完成之后)投影到屏幕上的最终图像。本篇讨论正投影和透视投影。

正投影(平行投影)中,屏幕上绘制的所有多边形都是按照相对大小出现的。直线和多边形使用平行线直接映射到2D屏幕上。这意味着不管物体有多远,都仍然按照相同的大小进行绘制,平面的出现在屏幕上。这种类型的投影通常用于CAD或渲染二维图像和二维图形。

透视投影所显示的场景跟接近真实,透视投影的标志性特点就是透视缩短,他会使远处物体看上去比相同大小的近视物体小一些。3D空间中平行的直线在观察者&#;里并不是平行的,一铁轨为例,铁轨是平行的,但在透视投影下,他们看上去&#;乎在远处交汇在一起。

正投影和透视投影区别如下图:

图2,来至OpenGL超级宝典

(6)视口变换

当上面的这些操作全部完成后,最终所获得的是场景的二维投影,将他映射到屏幕上的某个窗口。这种到物理窗口坐标的映射是最后一个完成的变换,称为视口变换。通常,颜色缓冲区和窗口像素之间是一对一的对应关系,但并非严&#;如此。有些情况下,视口变换要把一种“规范化”的设备坐标重新映射到窗口坐标。幸运的是,我们不必操心这方面的细节。

How to embed a jframe in an eclipse view 最近在调研的一个项目需要在RCPView中实现OpenGL渲染,且OpenGL是通过JNI接口实现的,经过一番调查和实验,总结了下面方法。在RCP的View中现实3D图形渲染

OpenGL学习-OpenGL矩阵 关于矩阵的概念和矩阵的计算本篇就不再多说了,不了解的同学可以翻一下大学数学了!矩阵(Matrix)是一种很强大的数学工具,特别实在计算机图形处理

DrawPrimitive真是一个好类!!cocos的开发组干了好事。 如果每次在商业项目中使用opengl命令去绘制特效,工作效率真心低,所以官方包装了这个接口,真实好东西。draw函数的接口以及改了,新接口不允许重

标签: opengl learn

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

上一篇:Qt_OpenGL:3D空间中移动图像(qt opengl obj)

下一篇:How to embed a jframe in an eclipse view

  • 个人出租商用房税率
  • 企业所得税计算表
  • 冲回多提的坏账准备分录为
  • 小规模公司用什么会计准则
  • 劳务派遣代发工资开票
  • 出口业务退税流程资料
  • 装修费能否一次性支付
  • 复式记账法哪本书提到过?
  • 未取得支付工程款的发票怎么做账?
  • 发票未到的库存商品如何做账
  • 月底结转都结转什么
  • 小规模纳税人如何升级为一般纳税人
  • 董事会费用计入什么科目
  • 免税发票可以入账吗
  • 顾问费的个税怎么扣
  • 往来款核销需要如何确认
  • 领取劳保用品如何做凭证怎么做会计分录?
  • 调整bios配置设置
  • 汇兑损益 纳税调整
  • 失控发票是什么
  • 在win7系统中,添加打印机驱动程序
  • 如何回到一年前的方法
  • iis配置mime
  • PHP:mb_preferred_mime_name()的用法_mbstring函数
  • PHP:curl_errno()的用法_cURL函数
  • PHP:pg_connection_busy()的用法_PostgreSQL函数
  • 电脑语言栏不见了,打不出汉字
  • 电脑桌面上的图片怎么打印
  • 员工补偿金分录
  • 跨省异地施工
  • 处置二手固定资产
  • 补交上年度企业所得税报表怎么填写
  • 百度文心一言对未来商业的影响
  • arp-a命令怎么用
  • 收回外币应收账款如何处理
  • 收到的免税苗木发票必须当月抵扣么
  • 进口货物交哪些税费
  • 所有者权益合计怎么算
  • 退社保基金怎么办理
  • 所得税申报资产总额平均值
  • sqlserver2008数据库定时备份
  • 小型生产加工企业税率
  • 押金的增值税处理流程
  • 小微企业全年营业额不能超过多少
  • 以前年度费用退回
  • 收到普票和专票对企业的纳税影响
  • 销售货物如何写凭证
  • 小规模纳税人取得普通发票可以抵扣吗
  • 分公司交纳的管理费用
  • 残疾人就业保证金上年工资总额是说上一年度么
  • 记账凭证错误要重开吗
  • 长期股权投资应计提减值准备的金额
  • 开具正数发票中如何体现扣款?
  • 固定资产发票后到怎么入账
  • 收到上市公司分红企业所得税减半征收的情景
  • 商品流通企业会计
  • 会计报表的主要构成内容
  • mysql性能比较
  • sql server数据库正在恢复
  • win7系统如何查看文件扩展名
  • 电脑开机一直显示windowsxp
  • 如何在ubuntu下安装和配置gcc并用C语言
  • xp系统explorer.exe错误
  • pascl32.exe - pascl32是什么进程 有什么用
  • Win7旗舰版电脑亮度怎么调节?
  • android app启动过程
  • bat脚本延迟执行命令
  • Zen Coding css,html缩写替换大观 快速写出html,css
  • 内部变量 变成 外部变量
  • vue.js作用
  • 基于javascript的毕业设计
  • android开源项目在哪找
  • shell中的注释用什么表示
  • 深入php面向对象、模式与实践第5版 电子书
  • 详解金球奖之争
  • 核准类结算账户包括
  • 税务巡视组一般检查什么
  • 残疾人就业保障金怎么申报
  • 深圳代理记账公司赚钱吗
  • 怎么修改纳税人信息
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设