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 json

Network Working Group                     ...

what is statistics.

  • 2014-08-06 16:54
  • 888KB
  • 下载

what is html5

  • 2013-01-08 10:26
  • 3.46MB
  • 下载

C++ String: What is the difference between '\n' and '\r\n'?

C++ String: What is the difference between '\n' and '\r\n'? Q: What is the difference between...

what is GIS

  • 2017-06-01 14:01
  • 5.02MB
  • 下载

What is the SQLDump file for?

0down votefavorite share [g+]share [fb]share [tw] One of our Windows 2003 servers th...

What is EDI Whitepaper

  • 2015-08-21 18:12
  • 292KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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