What Is Shader

原创 2007年09月29日 16:47:00

Shader就是一段可以改变象素和顶点的小程序。因此在Shader规范模型中又划分出两个分支,一个叫作:象素ShaderPixel Shaders)一个叫作:顶点ShaderVertex Shaders)。这个Shader小程序可以为游戏场景添加一些基本的几何学特效。例如湖水的涟漪,它会让特定的蓝色材质发生移动、扭曲和倒映,这样就会给人波光粼粼的感觉了。若是要将一个物体渲染成玻璃的风格,它就会让一些材质发生透明和扭曲。Shader技术主要是应用在目前的电脑游戏当中,它让我们的电脑游戏画面更加逼真,现在的主流3D游戏画质要比几年前逼真很多。Shader是具有可编程性的,开发人员可以用它创造出非常图特的游戏场景。像NVIDIAATI的显卡都严格支持Shader的规格,并且为Shader程序作了很多优化。当然除了游戏的特效之外,游戏开发人员也可以用Shader作很多其他工作。总之Shader在未来的游戏中将发挥重大的作用。

 

目前Shader技术还处于一个迅速壮大的阶段,它的版本并不多。他们之间的区别也就比较容易归纳总结。其实每个新的Shader版本的出台都是一种修正,Shader指令的长度就曾经被反复修改。在早期的Shader中指令都是被分开独立执行。随着游戏越作越逼真,场景越作越复杂,Shader指令也变得长且复杂起来。并且为了支持最新的3D技术,在Shader中也要不断加入许多相应的新指令。最令游戏开发人员兴奋的是Shader越来越像是一套完备的编程语言了。例如,早期的v1.1版本中,每条指令只能单独执行。而到了v2.x时加入了跳转语句。到了v3.0版本时都可以使用动态的分支语句了。程序员可以使用“if”这样的判断句,这使得Shader程序更加灵活。在历代的Shader更新中,从v2.xv3.0的变化最大。在v3.0中加入了独特的顶点材质检索功能,这使得Shader可以支持一种叫做置换贴图的高级材质贴图技术。

 

                           DirectX 10 中的 Shader

什么是Geometry shader

在下一代DirectX10中,我们惊奇的发现了一个叫做Geometry shader的着色单元。

通过以上的介绍,我们不难理解,Pixel Shader是专门处理像素的,Vertex Shader是专门处理多边形顶点的。那么Geometry shader就是专门用来处理场景中的几何图形。在过去Vertex Shader每一次运行只能处理一个顶点的数据,并且每次只能输出一个顶点的结果。在整个游戏场景中,绘制的几何图形的任务量是非常庞大的,如果仅仅依靠Vertex Shader来完成,处理场景的效率会很低下。并且如大爆炸,粒子效果,瀑布流水等复杂的场景都很难逼真的表现出来。

现在DX10的设计师们在顶点与像素的处理过程中又加入了Geometry shader几何着色器。它可以根据顶点的信息来批量处理几何图形。Geometry shader可以将点、线、三角形等基本的构图元素连接起来,创造出新的多边形。快速的将这些处理结果传递给其他Shader或显存,并且这个过程无需处理器参与。

 

_What is Cone-Beam CT

  • 2016年02月23日 21:12
  • 2.03MB
  • 下载

What is Computer Science

  • 2014年10月15日 08:05
  • 4.09MB
  • 下载

What Is White Balance in a Camera?摄像头里的白平衡是什么意思

What Is White Balance in a Camera? Anyone with a digital camera has probably heard the term white ...
  • acs713
  • acs713
  • 2014年12月09日 22:51
  • 1917

what is statistics.

  • 2014年08月06日 16:54
  • 888KB
  • 下载

what is html5

  • 2013年01月08日 10:26
  • 3.46MB
  • 下载

Hdu 4335 What is N? 欧拉函数降幂公式 + 循环节

a^n mod c= a^(n mod phi(c) + phi(c)) mod c (n >= phi(c) ) n! mod phi(c) = 0 n!的因子只需包含 phi(c) 因为 这题...

Pair Programming What is in it for me.pdf

  • 2011年08月22日 10:35
  • 353KB
  • 下载

what is GIS

  • 2017年06月01日 14:01
  • 5.02MB
  • 下载

HDU 1084 What Is Your Grade?

/* 题目大意: 1、根据回答问题的数目,决定学生的分数; 2、回答题目数相同者,根据回答的时间的快慢,决定学生的分数; 3、回答题目数相同者,只有一个人可以获得95,85,75,65的分数,其他人只...

What is EDI Whitepaper

  • 2015年08月21日 18:12
  • 292KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:What Is Shader
举报原因:
原因补充:

(最多只允许输入30个字)