易绚CG语言教程

易绚CG语言教程
1.什么是Cg语言
CgNVIDIA和微软共同开发的为可编程图形硬件设计的语言。它与OPENGL API和微软 DirectXHLSL都兼容。CG程序是在计算机的图形处理器(GPU)上执行的。
Cg是一个可以被OpenGLDirect3D微调电容广泛支持的图形处理器编程语言。 Cg语言和OpenGLDirectX并不是同一层次的语言,而是OpenGLDirectX的上层,即,Cg程序是运行在OpenGL DirectX标准顶点像素着的基础上的。
2.顶点,片段,图形流水线
图形硬件渲染流水线:
顶点变换 
在每个顶点上执行一系列的数学操作:把顶点位置变换到屏幕位置以便光栅器使用,为贴图产生纹理坐标,以及照亮顶点以决定它的颜。
图元装配和光栅化 
根据伴随顶点序列的几何图元分类信息把顶点装配成几何图元。 
数据存储安全检测图元通过剪裁(到可视平截体)、挑选(丢弃一些多边形)。 
光栅化(光栅化会把每个几何图元所覆盖的像素分解成像素大小的片段),结果是像素位置的集合和片段的集合(一个片段有一个与之相关联的像素位置、深度值和经过插值的参数)。
插值,贴图和着 
在片段属性需要的时候插值,执行一系列的贴图和数学操作,为每一个片段确定一个最终的颜。
光栅操作moba平衡梁 
每个片段可由许多测试来测试(包括剪切,alpha,模版,深度测试),没通过测试则丢
弃该片段,否则就更新该像素颜值,通过了深度测试就用片段的深度值代替像素的深度值,最后用混合把片段的最后颜和对应的像素颜结合在一起,帧缓存写操作用混合颜代替像素颜。
3.可编程图形流水线
可以看出,顶点着器控制顶点坐标转换过程;片段着器控制像素颜计算过程。这样出租车计价器传感器
就区分出顶点着程序和片段着程序的各自分工: 
Vertex program负责顶点坐标变换;喷香器 
Fragment program负责像素颜计算;前者的输出是后者的输入。
3.1可编程顶点处理器
从图片可以看出,顶点着器控制顶点坐标转换过程;片段着器控制像素颜计算过程
顶点着程序从cao55GPU前端模块(寄存器)中提取图元信息(顶点位置、法向量、纹理坐标等),并完成顶点坐标空间转换、法向量空间转换、光照计算等操作,最后将计算好的数据传送到指定寄存器中;然后片断着程序从中获取需要的数据,通常为纹理坐标、光照信息等,并根据这些信息以及从应用程序传递的纹理信息(如果有的话)进行每个片断的颜计算,最后将处理后的数据送光栅操作模块。
顶点着程序与片断着程序通常是同时存在,相互配合,前者的输出作为后者的输入。不过,也可以只有顶点着程序。如果只有顶点着程序,那么只对输入的顶点进行操作,而顶点内部的点则按照硬件默认的方式自动插值。
片断着程序是对每个片断进行独立的颜计算,并且算法由自己编写,不但可控性好,而且可以达到更好的效果。最后输出颜值的就是该片段最终显示的颜。可以这样说,顶点着程序主要进行几何方面的运算,而片段着程序主要针对最终的颜值进行计算。
所谓片断就是所有的三维顶点在光栅化之后的数据集合,这些数据还没有经过深度值比较,而屏幕显示的像素都是经过深度比较的。
3.2可编程片段处理器

本文发布于:2024-09-22 11:33:29,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/250942.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:顶点   像素   颜色   着色   程序   计算
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议