位置: 编程技术 - 正文

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

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

  • 固定资产清理亏损的账务处理
  • 印花税计税依据含不含增值税
  • 小规模纳税人税率1%政策到什么时候
  • 印花税不通过税金及附加核算
  • 开一般户需要提交人行吗
  • 投资性房地产收入计入什么科目
  • 房地产开发企业土地增值税清算
  • 普通发票需要进项税额转出吗
  • 税控盘服务费去年忘记抵了今年可以抵扣吗
  • 股东投入资金大,但不想成为法人
  • 个人独资企业注册流程
  • 营改增以前土地交易应交税费
  • 销售报废车辆按多少计提销项税额
  • 合并报表中长期股权投资包括
  • 转让股权怎么写简单
  • 印花税股权转让计税依据
  • 企业购进货物若发生下列事项,其增值税进项税额
  • 涉税事先裁定
  • 大中小型企业标准划分表
  • 红字发票不小心点了暂存怎么办
  • 作价入股的土地可以摊销无形资产吗
  • ptssvc.exe - ptssvc是什么进程 有什么用
  • 经营性支出属于哪个科目
  • 企业收入的具体表现
  • h5能不能自动播放
  • 企业停产免征房产税
  • 若依框架权限控制
  • 自动驾驶的时候可以睡觉吗
  • 【AutoGPT】你自己运行,我先睡了—— ChatGPT过时了吗?
  • 前端工程搭建
  • 网站禁止了有什么方法打开
  • python,array
  • 退货可以开红字发票吗
  • 结转成本涉及的科目
  • 合同印花税可以年底报一次
  • 室内装修专用什么意思
  • 子公司计入长期股权投资吗
  • Simple Slug Translate 把WordPress固定链接自动翻译成英文
  • 缴纳印花税的会计凭证怎么做
  • phpcms怎么用
  • 成品油红字发票开具后库存数量如何冲回?
  • 农产品来源用途是什么
  • 电子发票如何申领取电子发票
  • 无票收入会计分录实例
  • 企业哪些进项税抵扣
  • 企业应付账款的借方余额反映的是
  • 减免的附加税要申报吗
  • 个人独资企业法人可以发工资吗
  • 电子发票查询真伪
  • 应交税费和应交增值税的关系
  • 进项税转出如何结转
  • 货物出口销售确认流程
  • 差额征税的账务处理教学视频
  • 咨询费收入成本怎么算
  • 补缴以前年度所得税及滞纳金账务处理
  • 暂估入库的税务怎么处理
  • 企业购房需要缴纳土地税么吗
  • 所有者权益类期末贷方余额公式
  • 农产品加计扣除1%怎么计算和会计分录
  • 什么是企业管理的基础工作
  • 收到税务局退还的个税手续费怎么入账
  • 公司汽车购置税怎么交
  • sqlserver2000删除注册表
  • MSSQL 数据库同步教程
  • 修改注册表加快开机速度
  • win8.1笔记本
  • win10升级win1
  • 用什么命令最简单
  • ubuntu系统怎么安装
  • 关于jquery的描述错误的是
  • 深入浅析是什么意思
  • js给图片加水印
  • 每天一篇小练笔30字
  • python 元类的作用
  • 点评js异步加载什么意思
  • 四川省国家税务局电子税务局
  • 增值税发票综合服务平台升级
  • 企业代缴房产税可以入账吗
  • 重庆新电子税务局入口
  • 关于返回
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设