Alpha测试

作者:追风剑情 发布于:2014-6-1 16:52 分类:Shader

   透明度测试是阻止像素被写到屏幕的最后机会。在最终渲染出的颜色被计算出来之后,可选择通过将颜色的透明度值和一个固定值比较。如果比较的结果失败,像素将不会写到显示输出中。常用语法如下。 AlphaTest 开关状态 Off(缺省)渲染所有像素,On开启透明度测试。 AlphaTest 比较模式 测试值 设置透明度测试只渲染透明度...

阅读全文>>

标签: Alpha测试

评论(0) 浏览(962)

GPU编程

作者:追风剑情 发布于:2014-6-1 0:39 分类:Shader

目前这种面向GPU的编程有3种高级图像语言可供选择: 微软提供了HLSL(High Level Shading Language),是通过Direct3D图形软件库来写Shader程序的语言。 OpenGL提供了GLSL(OpenGL Shading Language)来写Shader程序。 NVIDIA提供了Cg(C for graphics)语言。NVIDI...

阅读全文>>

标签: GPU编程

评论(0) 浏览(850)

雾(Fog)

作者:追风剑情 发布于:2014-5-30 22:15 分类:Shader

雾化是通过混合已生成的像素的颜色和基于到镜头的距离来确定的一个常量来完成。雾化不会改变已经混合的像素的透明度值,只是改变RGB值。雾命令语法如下。 Fog { 雾命令 } 常用雾命令 Mode雾模式 设置雾模式。可选模式有Off, Global(默认项), Linear, ...

阅读全文>>

评论(0) 浏览(872)

引用另个Shader中的Pass块

作者:追风剑情 发布于:2014-5-30 2:08 分类:Shader

Shader "Tut/NewBie/SecondShader" { Pass { Name "MYM" Material { Diffuse(1,0.7,0.4,1) Ambient(1,0.7,0.4,1) } Lighting On SetTexture[_] { combine primary } } } 引用另个文件的Pass块 ...

阅读全文>>

标签: Pass

评论(0) 浏览(770)

纹理处理

作者:追风剑情 发布于:2014-5-28 22:15 分类:Shader

    基本的顶点照明计算完成以后,将进行纹理设置。在ShaderLab中用SetTexture命令来设置纹理。当使用片元程序时SetTexture命令无效,在这种情况下像素操作完全在片元程序中完成。     纹理处理是在做旧式的合并效果。在一个通道中可以使用多个SetTexture命令——所有的纹理应用都在一个队列当中,就像绘制程序中...

阅读全文>>

评论(0) 浏览(865)

剪裁和深度测试

作者:追风剑情 发布于:2014-5-27 22:26 分类:Shader

   剪裁是一种通过不渲染背对摄像机的几何面来提高性能的优化措施。所有几何体都包含正面和反面。剪裁基于大多数对象都是封闭的事实。例如一个立方体,摄像机无法看到背离摄像机的那一面(总是只有一个面面向前方),因此不需要绘制出背面。因此也被称做背面剪裁。    使用深度测试使渲染看起来更加真实,而且可以保证场景中的对象被遮挡的部分不参与绘制。相关命令如...

阅读全文>>

评论(0) 浏览(858)

通道渲染命令

作者:追风剑情 发布于:2014-5-26 23:23 分类:Shader

颜色、材质和光照     顶点颜色和光照是对任何要渲染的几何体所添加的第一步效果。这个操作处在顶点级别,用于计算在纹理被应用之前被使用的基础颜色。     材质和光照参数被用于控制内置顶点光照。顶点光照是Direct3D/OpenGL标准的按顶点计算的光照模式。光照打开时,光照受材质块,颜色材质和平行高光命令的影响。相关命令...

阅读全文>>

评论(0) 浏览(962)

分类(Category)

作者:追风剑情 发布于:2014-5-25 20:41 分类:Shader

Category是渲染命令的逻辑组。大多数情况下被用于继承渲染状态。例如,着色器可以有多个子着色器,它们都需要关闭雾效果、混合等。下面的代码片段说明了分类的使用: Shader "example" { Category {    Fog { Mode Off }   //设置雾模式    Blend ...

阅读全文>>

评论(0) 浏览(890)

降级(Fallback)

作者:追风剑情 发布于:2014-5-25 20:37 分类:Shader

Fallback定义在所有子着色器后。简单来说,它表示"如果没有任何子着色器能被运行在当前硬件上,请尝试使用降级着色器",其常用语法如下。 Fallback "着色器名" 退回到给定名称的着色器。 Fallback Off 显式声明没有降级并且不会打印任何警告,甚至没有子着色器会被运行。

阅读全文>>

评论(0) 浏览(970)

通道(Pass)

作者:追风剑情 发布于:2014-5-24 9:09 分类:Shader

每个通道(Pass) 都能使几何对象被渲染一次。Pass语法如下: Pass { [ Name and Tags ] [ RenderSetup ]  [ TextureSetup ] } 基本的通道命令包含一个可选的渲染设置命令(RenderSetup)的列表和可选的被使用的纹理(TextureSetup)的列表。一个通道能定义它的Name和任意数量的Tags(...

阅读全文>>

评论(0) 浏览(1311)

SubShader Tags

作者:追风剑情 发布于:2014-5-22 21:54 分类:Shader

子着色器使用标签(Tags)来告诉渲染引擎何时和如何渲染对象。Tags使用语法如下: Tags { "标签1" = "值1"  "标签2" = "值2" } 标签是标准的键值对,可以有任意多个,常用的标签如下所列。  Queue——队列标签,Queue标签用来决定对象被渲染的次序。着色器决定对象所归属的渲染队列,任何透明物体都可以通过这种方法确保在不透明物体...

阅读全文>>

标签: SubShader Tags

评论(0) 浏览(2532)

SubShader

作者:追风剑情 发布于:2014-5-18 10:35 分类:Shader

Unity中的每一个着色器都包含一个subshader的列表,当Unity需要显示一个物体时,它找到使用的着色器,并提取第一个能运行在当前用户的显卡上的子着色器。Subshader的语法为: Subshader { [Tags] [CommonState] Pass{ } } 子着色器由可选标签(Tags)、通用状态(CommonState)和一个通道(Pass)列...

阅读全文>>

评论(0) 浏览(1086)

Properties

作者:追风剑情 发布于:2014-5-14 22:08 分类:Shader

      Properties的定义方法: Properties {    _RangeValue ("Range Value", Range (0.02, 0.15)) = 0.07 //定义一个浮点数范围属性    _FloatValue ("F...

阅读全文>>

评论(0) 浏览(820)

Unity中3种不同的着色器

作者:追风剑情 发布于:2014-5-13 23:55 分类:Shader

表面着色器(Surface Shaders) 在大多数情况下,表面着色器会是最好的选择。如果着色器需要与灯光、阴影、投影器等进行交互,可以使用表面着色器。表面着色器可以以简洁容易的方式实现更复杂的功能。其可以有效地与多个实时灯光进行互动。   顶点和片元着色器(Vertex and Fragment Shaders) 如果需要一些表面着色器...

阅读全文>>

评论(0) 浏览(1063)

Powered by emlog  蜀ICP备18021003号   sitemap

川公网安备 51019002001593号