開啟主選單
求真百科
搜尋
檢視 顶点着色引擎 的原始碼
←
顶点着色引擎
由於下列原因,您沒有權限進行 編輯此頁面 的動作:
您請求的操作只有這個群組的使用者能使用:
用戶
您可以檢視並複製此頁面的原始碼。
{| class="wikitable" align="right" |- | style="background: #66CCFF" align= center| '''<big>顶点着色引擎</big> ''' |- | [[File:顶点着色引擎1.jpg|缩略图|居中|[https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=3372947825,2679752251&fm=26&gp=0.jpg 原图链接]]] |- | style="background: #66CCFF" align= center| |- | align= light| 中文名: 顶点着色引擎 外文名: Vertex Shader 也称为: 顶点遮蔽器 作 用: 增加各式特效在3D场影 浮点数: 128 |} '''顶点着色引擎'''(Vertex Shader),也称为顶点遮蔽器,根据官方规格,顶点着色引擎是一种增加各式特效在3D场影中的处理单元,顶点着色引擎的可程式化特性允许开发者靠加载新的软件指令来调整各式的特效,每一个顶点将被各种的数据变素清楚地定义,至少包括每一顶点的x、y、z坐标,每一点顶点可能包函的数据有颜色、最初的径路、材质、光线特征等。 ==细节== 在顶点着色引擎内部,[[数据]]都是以“项”为单位来作运算的。 我们刚刚知道,每一项都是4个128位的[[浮点数]]。当你正应用一条指令和影响一套4个变量时,这让顶点着色引擎单元实际上就是一个“单指令多数据”(single instruction multiple data, SIMD) 处理器。 这种安排很有道理,因为大部分的转换与光影操作都是4x4或3x3的矩阵运算。 每一个数据都当作浮点数,所以全部的运算都是浮点运算。 基本上,顶点着色引擎是个很强大的SIMD浮点处理器, Pentium 4 里面的SSE2单元勉强赶得上。 另一个重要的部分是12个SIMD[[寄存器]],每一个也都可以存放4个128位浮点数。这12个寄存器就是顶点着色引擎变戏法的地方。除了这12个可以自由存取的寄存器,顶点着色引擎提供了96个4x128位的SIMD常数,可以作为程序员在程序开始执行之前设定的参数载入。这些常数可以用在程序里,甚至可以间接寻址,但每条指令只能调用一个常数,这有点不方便。如果某个指令需要一个以上的常数,必须先用载入指令把常数读入一个寄存器。典型的这种大量常数应用就是多边形转换的矩阵数据(一般4x4矩阵)、光影特性、特殊动画特效的程序数据、向量内插数据(例如变脸特效或者关键帧插入),时间([[关键帧]]插入或[[粒子系统]])等等。有一种特殊的称为“顶点状态程序”的程序可以向参数块写入数据。而普通的顶点程序只能读取。 ==背景== 这些运算指令本身都很简单,因此也很容易理解。 顶点着色引擎不允许循环,跳跃或条件分支,就是每条指令按照次序线性执行程序。每个顶点着色引擎的最大程序长度是128条指令。 顶点按照设计师的意愿改变之后,就完成转换和照明。 若是还需要更多指令处理,顶点可以再次进入顶点着色引擎。 顶点经过运算后仍然是顶点,转换到为均一的裁剪空间(homogenous clip space),并且完成照明运算。 有一点很重要的是,顶点着色引擎不能生成或者消除顶点。一个进,一个出。<ref>[http://dict.youdao.com/w/%E9%A1%B6%E7%82%B9%E4%B8%8E%E5%83%8F%E7%B4%A0%E7%9D%80%E8%89%B2%E5%BC%95%E6%93%8E/ 顶点与像素着色引擎],有道 ,</ref> == 参考来源 == {{reflist}} [[Category:400 應用科學總論]]
此頁面使用了以下模板:
Template:Main other
(
檢視原始碼
)
Template:Reflist
(
檢視原始碼
)
模块:Check for unknown parameters
(
檢視原始碼
)
返回「
顶点着色引擎
」頁面