ARB_fragment_program学习:(一)可编程语言概要


基于GPU的可编程语言有很多,Opengl的扩展库ARB_fragment_program与ARB_vertex_program、D3Dd的vertex shader与pixel shader (这两个相当于编程语言中的汇编语言,比较底层,程序由汇编指令组成)、Opengl提出的shading language、nvidia出Cg语言、微软出的HLSL语言、ATI的RenderMonkey(这四种种相当于高级语言)。Cg语言可以和Opengl及D3D平台兼容,但只能用于nvidia的显卡。其他四种对显卡没有特殊要求,但只能在自己的平台下使用。

当今图形硬件流水线由下列固定顺序进行的阶段组成:顶点变换、图元装配和光栅化、片元纹理映射和着色、光栅化操作。

顶点变换:在每个顶点上执行一系列的数学操作。这些操作包括吧顶点位置变换到屏幕,为贴图产生纹理坐标,决定顶点颜色。

图元装配和光栅化:根据顶点序列把顶点装配成几何图元,然后对这些图片进行裁剪和挑选,对剩下的多边形进行光栅化。

插值、贴图和着色:图元被光栅化为片元后,在这个阶段执行一系列的贴图和数学操作,然后为每个片元确定一个最终颜色和新的深度。

光栅操作:在最后更新帧缓存前,执行一系列的测试操作,再把片元颜色和对应像素的颜色混合在一起。

可编程图形流水线:从图形硬件流水线中分离了顶点和片元处理,成为可编程单元。

可编程顶点处理器:载入顶点属性,顶点处理器重复的取出下一个指令执行它,直到顶点程序结束。事实上它执行的操作相当与图形流水线中的顶点变换。

可编程片元处理器:和顶点处理器相比,片元处理器还支持纹理操作。片元处理的输入是片元参数,而不是顶点属性。最终的运算结果是片元的颜色和新的深度值。 它执行的操作相当于流水线中的插值、贴图和着色与光栅操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值