位置: 编程技术 - 正文

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

  • 个人所得税年终奖单独计税怎么操作
  • 个人天猫怎么开网店
  • 打印的电子发票需要盖章么
  • 两家公司原材料能否借用
  • 注册地址与实际办公地址不一致怎么办
  • 固定资产折旧摊销表A105080
  • 仓储货架工厂仓库货架
  • 某企业月末由仓库转来发料凭证汇总表
  • 取得农产品流通环节免税发票可以扣抵吗?
  • 有票据的福利费是不需要职工薪酬科目过渡吗
  • 2018年车船税收费标准
  • 小微企业按季度预缴企业所得税
  • 增值税普通发票可以抵扣吗
  • 增值税专用发票验证真伪
  • 报税没有报怎么办
  • 股权激励个人所得税计算器
  • 开手续费发票开多了怎么做账
  • 所得税补缴自查需要缴纳什么
  • 企业的其他业务是什么
  • 集资建房减免那些配套资金
  • 土地使用权摊销年限最新规定
  • 不交社保是否可以马上辞职
  • macbookpro磁盘需要分区吗
  • 主营业务收入多栏式怎么填
  • win10电脑如何设置锁屏时间
  • win10怎么看已安装的驱动
  • 交易性金融资产是什么意思
  • 当月认证抵扣的进项税发票一定要入帐做成本吗?
  • 收到发票未抵扣谁开红字
  • 营业外收入主要来源
  • 公允价值变动损益在利润表哪里
  • 预算会计与财务会计适度分离
  • yolov5输出参数
  • Yii2——使用数据库操作汇总(增删查改、事务)
  • php年月日时间代码
  • egi脑电数据处理
  • 微信公众平台官网
  • 预付款项属于什么
  • discuz手机标准版
  • 记账凭证银行利息入息
  • 政府补助的核算内容有哪些
  • 收入纳税退税
  • sql2005安装不上
  • 其他应付款计入资产负债表哪个科目
  • 购车的车辆购置税计入固定资产可以所得税一次性扣除吗
  • 运输公司内账会计每天需要做什么
  • 所得税核定征收的政策
  • 支付的物业费如何做账
  • 摊销无形资产10000元
  • 印花税每个月都计提吗
  • 润滑油消费税征收环节税屋
  • 出口退税免抵退税额要交城建税吗
  • 支付水电费的会计
  • 押金是否可以抵扣租金
  • 现金流量表是指现金还是银行存款
  • 股权变更需要做账吗
  • 收到红字发票进项税怎么做账务处理
  • appcrash是什么文件
  • win7系统如何隐藏任务栏
  • linux 安装vs
  • xp系统内存不能为read的解决方法
  • 电脑系统重装win8
  • mac使用磁盘工具的快捷键
  • window 删除服务
  • linux如何快速统计文件个数
  • linux测试端口连接
  • openssl 用法
  • iis7.0是什么
  • python 字典怎么用
  • jquery-easyui-1.3.3
  • js正则匹配特殊符号
  • shell脚本实现文件移动、复制等操作
  • shell脚本引用文件
  • Node.js中 __dirname 的使用介绍
  • 如何用android
  • javascript教程 csdn
  • 融资租赁利息是哪个科目
  • 为什么征收城市建设维护税却不征收教育附加税
  • 上海市信访局官网首页
  • 如何抵扣缴纳增值税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设