位置: 编程技术 - 正文

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渲染流程图)

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

  • 亏损属于什么科目
  • 接受捐赠的增值税处理
  • 增值税发票是真发票,但是平台查验不到
  • 工会筹备金需不需要计提
  • 工厂外包加工项目
  • 基本账户可以转移吗
  • 企业隐藏收入会受怎样处罚
  • 工资分配率的计算公式
  • 优惠券抵扣账务处理流程
  • 研发场地租赁计什么科目
  • 税务社保扣取300干嘛的
  • 发票报销的补助是否缴纳个人所得税?
  • 印花税的基数及标准是多少?
  • 收汇结汇的账务处理
  • 房地产企业预缴增值税及附加税
  • 个人承担的社保费有哪些
  • 公户以借款形式打款给个人,对个人有影响么?
  • 六税两费包括哪三税
  • 汇兑结算方式可以分为
  • 摊销费用多做如何做账?
  • 收到美金货款
  • 穿越火线下载安装
  • 合并报表的收入是相加吗
  • 盈余公积的提取基数
  • debian10.9安装教程
  • QQExternal.exe是什么进程?QQExternal.exe进程为什么被运行?
  • 中秋节给员工买什么福利
  • win10分辨率调整
  • 小规模纳税人需要缴纳个人所得税吗
  • 预收账款的账务处理摘要
  • laravel基础
  • 公司支付员工生育津贴怎么做账
  • java基础笔试题在线考
  • 红冲上年度收入怎么做凭证
  • 自产产品对外赠送的会计处理方法
  • mysql innode
  • mysql中触发器的创建有多个执行语句
  • mongodb添加用户并授权
  • 申报方式选哪个?
  • PostgreSQL 安装和简单使用第1/2页
  • 只收加工费
  • 建筑企业分项目信息采集表怎么填
  • 差额征税的专用发票能抵扣吗
  • 固定资产评估减值还是升值
  • 个人独资企业进行委托管理要签订劳动合同
  • 企业技术服务费有税前列支限额吗
  • 诉讼费给开发票吗
  • 一般纳税人增值税优惠政策2023
  • 固定资产更新改造当月是否计提折旧
  • 如果收到现金抵押怎么办
  • 财务费用包括什么项目
  • 公司与股东的往来款
  • 车辆保险发票能补开吗
  • 可以抵扣的增值税进项税额
  • 普通发票和增值发票的区别在哪里
  • 搭赠商品如何开票
  • sql server连接不上服务器怎么办
  • mysql查看查询耗时
  • system is boot up with
  • vista win10
  • ubuntu 18.04 16.04
  • linux中bc命令
  • win10快速隐藏窗口
  • windows10粘滞键
  • win7如何设置关机快捷方式
  • WIN10补丁白屏
  • listview安卓
  • 分享两句话
  • jquery排序上升和排序下降
  • python2网络编程
  • 安卓初始化
  • Python网络爬虫出现text没有属性怎么办
  • CameraViewControl 摄像机 绕 物体
  • javascript教程 csdn
  • jquery里面的$是什么意思
  • 广东省国家税务局电子税务局官网
  • 广东智慧团建登录不上去怎么回事
  • 以划拨方式取得的土地使用权
  • 税务绩效管理存在不足
  • 国家税务总局176号公告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设