位置: 编程技术 - 正文

OpenGL渲染管线(opengl渲染流程图)

编辑:rootadmin

推荐整理分享OpenGL渲染管线(opengl渲染流程图),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:opengl的渲染管线,opengl渲染流程图,opengl渲染管线的工作流程,opengl渲染管线的工作流程,opengl渲染管线是什么,opengl渲染管线是什么,opengl渲染管线流程,opengl渲染管线流程,内容如对您有帮助,希望把文章链接给更多的朋友!

OpenGL渲染管线(opengl渲染流程图)

转载自: Ford在福特汽车公司采用的装配线方法,它也是OpenGL处理数据的方法。几何数据(顶点,直线和多边形)所经历的处理阶段包括求&#;和基于顶点的操作,而像素数据(像素,图像和位图)的处理过程侧有所不同。在最终的像素数据写入到帧缓冲区之前,这两种类型的数据都将经过相同的最终步骤(光棚化和基于片断的操作)。下面,我们更为详细地介绍OpenGL渲染管线的一些关键阶段。

1 显示列表Display Lists任何数据,不管它所描述的是几何图形还是像素,都可以保存在显示列表(display list)中,供当前或以后使用。当然,我们也可以不把数据保存在显示列表中,而是立即对数据进行处理,这种模式也称为立即模式(immediate mode)。当一个显示列表被执行时,被保存的数据就从显示列表中取出,就像在立即模式下直接由应用程序所发送的那样。2求&#;器Evaluators所有的几何图元最终都要通过顶点来描述。参数化曲线和表面最初可能是通过控制点以及成为基函数(Basic function)的多项式函数进行描述的。求职器提供了一种方法。根据控制点计算表示表面的顶点。这种方法是一种多项式映射,它可以根据控制点产生表面法线、纹理坐标、颜色以及空间坐标。3 基于顶点的操作Per-Vertex Operations对于顶点数据,接下来的一个步骤就是"基于顶点的操作",就是把顶点变换为图元。有些类型的顶点数据(例如空间坐标)是通过一个4*4 的浮点矩阵进行变换的。空间坐标从3D世界的一个位置投影到屏幕上的一个位置。如果启用了高级特性,这个阶段将更为忙碌。如果使用了纹理,这个阶段还将生成并变换纹理坐标。如果启用了光照,就需要综合变换后的顶点,表面法线,光源位置,材料属性以及其他光照信息进行光照计算,产生最终的颜色&#;。4 图元装配Primitive Assembly图元装配的一个主要内容就是剪裁,它的任务是消除位于半空间(half-space)之外的那部分几何图元,而这个半空间是由一个平面所定义的。点剪裁就是简单地接受或拒绝顶点,直线或多边形剪裁则可能需要添加额外的顶点,具体取决于直线或多边形是如何进行剪裁的。在有些情况下,接下来需要执行一个称为透视除法(perspective division)的步骤。它使远处的物体看起来比近处的物体更小一些。接下来所进行的是视口(viewport)和深度(z 坐标)操作。如果启用了剔除功能(culling)并且该图元是个多边形,那么它就有可能被剔除测试所拒绝。取决于多边形模式,多边形可能被画成点的形式或者直线的形式。这个阶段所产生的结果就是完整的几何图元,也就是根据相关的颜色,深度(有时还有纹理坐标&#;以及和光棚化处理有关的一些指导信息)进行了变换和剪裁的顶点。5 像素操作Pixel Operations在 OpenGL 的渲染管线中,和单路径的几何数据相比,像素数据所经历的流程有所不同。首先,来自系统内存的一个数组中的像素进行解包,从某种&#;式(像素的原始&#;式可能有多种)解包为适当数量的数据成分。接着,这些数据被缩放、偏移,并根据一副像素图进行处理。处理结果先进行截取,然后或者写入到纹理内存,或者发送到光棚化阶段。如果像素数据时从帧缓冲区读取的,就对他们执行像素转换操作(缩放、偏移、映射和截取)。然后,这些结果被包装为一种适当的&#;式,并返回到系统内存的一个数组中。OpenGL 有一种特殊的像素复制操作,可以把数据从帧缓冲区复制到帧缓冲区的其他位置或纹理内存中。这样,在数据写入到纹理内存或者写回到帧缓冲区之前,只需要进行一道像素转换就可以了。6 纹理装配Texture AssemblyOpenGL 应用程序可以在几何物体上应用纹理图像,使它们看上去更为&#;真。如果需要使用多幅纹理图像,把它们放在纹理对象中是一种明智的做法。这样,就可以很方便地在他们之间进行切换。有些 OpenGL 实现拥有一些特殊的资源,可以加速纹理的处理。这种资源可能是专用的,高性能的纹理内存。如果确实拥有这种内存,纹理对象可能会优先进行处理,以控制这种有限和宝贵的资源的使用。7 光棚化Rasterization光棚化就是把几何数据和像素数据转换为片断(fragment)的过程。每个片断方块对应用于帧缓冲区中的一个像素。把顶点连接起来形成直线或者计算填充多边形的内部像素时,需要考虑直线和多边形的点画模式,直线的宽度,点的大小,着色模型以及用于支持抗锯齿处理的覆盖计算。每个片断方块都将具有各自的颜色和深度&#;。8 片断操作Fragment Operations在数据实际存储到帧缓冲区之前, 将要执行一系列的操作。这些操作可能会修改甚至丢弃这些片断。所有这些操作都可以被启用或禁用。第一个可能执行的操作时纹理处理。在纹理内存中为每个片断生成一个纹理单元(texel,也就是纹理元素),并应用到这个片断上。接着可能进行的是雾计算,然后是剪裁测试,alpha测试,模板测试和深度缓冲区测试(深度缓冲区用于消除被隐藏的表面)。如果一个片断无法通过一个启用的测试,它的连续处理过程可能会被中断。随后,将要执行的可能是混合,抖动,逻辑操作以及根据一个位掩码的屏蔽操作。最后,经过完整处理的片断就被绘制到适当的缓冲区,最终成为一个像素并到达它的最终栖息地。

[置顶] 混合、反走样、雾效、多边形偏移 混合:介绍如何指定混合函数,它通过将源颜色和目标颜色混合,使场景的某些部分为半透明;反走样:反走样通过修改颜色来消除点、线、多边形边

[置顶] openGL学习笔记一:环境搭建 最近项目比较忙(每天凌晨才结束),所以cocos2dx的博客也没有更新了。感觉好堕落的说。最近打算学openGL,在这里做过学习笔记,有什么没有对的还是

[置顶] openGL学习笔记二:看看上一篇我们写的代码 哈哈,千呼万唤始出来,我们第二篇笔记新鲜出炉了(话说不是没隔多久么。。。。)呵呵,闲话不多说,我们来看看上一篇我们写的代码,知其然也

标签: opengl渲染流程图

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

上一篇:OpenGL FBO渲染到纹理实例(opengl渲染流程图)

下一篇:[置顶] 混合、反走样、雾效、多边形偏移

  • 车辆出现质量问题
  • 小规模纳税人的认定标准是什么
  • 契税的具体适用税率是多少
  • 退个税app操作
  • 待报解预算收入计入什么科目
  • 保险经纪公司要取得什么证
  • 劳务公司劳务协议范本
  • 费用已支付但发票未收可以先记费用吗
  • 员工充值饭卡的收入如何做账
  • 收购农产品进项税抵扣税率是多少
  • 或有负债怎么入账
  • 公益性生物资产属于什么科目
  • 红字通知单撤销后系统还能查到吗
  • 招待费进项税额转出会计分录
  • 物业公司收到开发代付物业管理费怎么做账
  • 国家电网的发票如何申请邮寄
  • 蔬菜批发公司销售蔬菜是否免税
  • 工商年报单位缴费基数从哪看
  • 生产企业出口退税全部流程
  • 税前金额是不含税金额
  • 固废处理计入什么会计科
  • 发票先入账,但发票不对
  • linux禁用root用户
  • 软件产品即征即退申请表
  • 上年预收账款算不算本年收入
  • 公司收到个人的款怎么做账务处理
  • 社保缴纳方式怎么填
  • php的强大功能函数库中都含有哪些常用函数?
  • 去年年终奖
  • 制药厂副产品
  • php新手入门
  • linux grep过滤空白行
  • php assign
  • PHP:mcrypt_enc_is_block_algorithm()的用法_Mcrypt函数
  • 楼房贷款需要什么手续没有银行流水怎么办
  • 进料加工免退税
  • java deep learning
  • 会计怎么区别法定维修义务和合同义务
  • 不抵扣的进项税怎么做账
  • 公司与公司的往来款清帐需要交税吗
  • html中a标签怎么引用图片
  • vue3动态路由权限
  • pytorch map
  • 织梦如何使用不侵权
  • 织梦模板安装详细教程
  • 债权债务转让会计分录
  • 接待客户的住宿费计入什么科目
  • 坏账核销的会计处理
  • Java连接sqlserver2008数据库代码
  • php怎么连接sqlserver
  • 企业应付职工薪酬的会计核算毕业设计
  • 营业外收入如何纳税
  • 发票收款人和复核人可以是一个人吗
  • 含税金额和税额的关系
  • 员工奖励账务处理流程
  • 给员工缴纳的雇工保险
  • 收到销货方的返款分录
  • 车辆上牌的费用应付多少?
  • 同城票据交换差额户金额从哪得来的
  • 旅游应当提示参加团队旅游的旅游者按照规定购买什么
  • 营业税金及附加会计分录
  • 设备5年直线法计提折旧怎么做?
  • 隔离模块与隔离模块如何连接?
  • win7隐藏共享文件夹
  • win7旗舰版系统恢复
  • 进程lsass.exe
  • msstat.exe - msstat是什么进程 有什么用
  • lsm.exe是什么程序
  • windows8怎么装
  • Unity3D & Java 基于 Protobuf 通信实现
  • Android 中的guideline
  • android网络框架okhttp
  • macos mono
  • unity 动态壁纸
  • jquery操作select元素和option的实例代码
  • 手机unity游戏
  • python编程内容
  • 小规模纳税人进口环节的增值税税率
  • 柴油计入什么科目
  • 公司地税申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设