Shader基础
Posted chenggg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shader基础相关的知识,希望对你有一定的参考价值。
shader中常用的数据类型:
3种基本数值类型:float、half和fixed。 这3种基本数值类型可以再组成vector和matrix,比如half3是由3个half组成、float4x4是由16个float组成。 float:32位高精度浮点数。 half:16位中精度浮点数。范围是[-6万, +6万],能精确到十进制的小数点后3.3位。 fixed:11位低精度浮点数。范围是[-2, 2],精度是1/256。 Sampler2D:2D纹理属性
Tags :tags标签是三种类型的shader都具有的标签,它决定了硬件什么调用该子着色器
Tags标签里面默认的“RenderType”=”Opaque”,是告诉系统应该在渲染非透明物体时调用这个SubShader “RenderType”=”Transparent”表示在渲染含有透明效果的物体时调用该Sunshader, Tags里面还有许多其他的我们可选的标签 ①.”Queue”:定义渲染顺序。预制的值有这些 ”Background”。值为1000。比如用于天空盒。 ”Geometry”。值为2000。大部分物体在这个队列。不透明的物体也在这里。 ”AlphaTest”。值为2450。已进行AlphaTest的物体在这个队列。 ”Transparent”。值为3000。透明物体。 ”Overlay”。值为4000。比如镜头光晕。 用户可以定义任意值,比如”Queue”=”Geometry+10” ②“RenderType”:定义渲染类型。预制的值有这些 ”Opaque”:绝大部分不透明的物体都使用这个; ”Transparent”:绝大部分透明的物体、包括粒子特效都使用这个; ”Background”:天空盒都使用这个; ”Overlay”:GUI、镜头光晕都使用这个; ③”ForceNoShadowCasting”:定义物体是否有阴影效果 “true”。表示有阴影 “false”。表示没有阴影
以上是关于Shader基础的主要内容,如果未能解决你的问题,请参考以下文章
Cg入门20:Fragment shader - 片段级模型动态变色(实现汽车动态换漆)
Visual Studio 2012 和 2010 中基于 Opengl Sierpinski Shader 的 C 代码