openGL渲染管线

//之所以转载这篇文章,是因为在学习openGL的过程中,我只是不断地学习一些函数接口的使用方法,而自己只能模糊的理解openGL的底层机制,这篇文章是作者对底层处理的简要介绍,只有理解了底层的东西,你才能真正地理解openGL。

 

我对于OpenGL的学习,只是简单学习了API函数的使用,而没有去关注OpenGL底层的绘制过程。然而对OpenGL底层绘制过程的了解,对学习OpenGL大有帮助。我查了些资料,讲解内容大同小异。

一 渲染管线概念

硬件概念:渲染管线在显卡中指的是一系列处理单元,主要包括顶点着色器和像素着色器,是显卡的核心,渲染管线越多,就可以形成流水线操作,显卡性能就会越好。

软件概念:在OpenGL中,渲染管线实际上是指的一系列的绘制过程,输入是一系列指定的顶点,经过渲染管线这一系列过程后,输出一帧想要的图像。

二 OpenGL渲染管线过程:

OpenGL渲染管线的操作过程主要包括以下几部分:

1)     顶点变换

2)     图元组装

3)    图元处理

4)     片元处理

5)     光栅化操作

1、顶点变换

这个阶段主要是对输入的顶点进行逐个处理,这些顶点都包括很多属性(如位置、颜色、法线和纹理坐标等),经过处理后,输出是经过变换后的顶点属性及关联信息。

主要过程:顶点变换(几何变换和投影变换)、光照计算、纹理坐标变换和生成

2、图元组装

这个阶段主要是按照输入的变换后的顶点属性和关联信息,组装形成图元。

3、图元处理

这个阶段主要是对输入的图元进行处理,输出片元(帧缓存中更新象素属性的数据)信息,该片元信息是对顶点变换阶段得出的属性进行插值处理得到的。

主要过程:视景裁剪、背面剔除

4、片元处理

这个阶段的输入为经过插值计算后的最终片元信息,经过处理后,输出信息为片元的深度和颜色值。

主要过程:纹理、雾化、颜色汇总(包括纹理颜色,光照颜色,主颜色等)

5、光栅化操作

这个阶段的输入为像素位置和片元的深度、颜色值等信息,经过一系列的测试(剪切测试、Alpha测试、模板测试和深度测试)后形成像素的颜色。

主要过程:剪切测试、Alpha测试、模板测试和深度测试、写入帧缓存

 

//转自:http://hi.baidu.com/impengpeng/item/c7a2f3a0c566b4756dd4557a(由于本人是新手,如果你觉得转载的该文章有错误,请指正,谢谢看官)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值