Shader编程教程【会员免费】

默认教学计划
2857人加入学习
(125人评价)
价格 ¥ 199.00
教学计划
会员免费学 购买课程

点积:

v1=(1,0)

v2 =(0,1)

dot(v1,v2)  = (1,0)*(0,1)

                  =(1*0)+(0*1)

                  =0 

cos(a)= dot(v1,v2)

       a =acos(dot(v1,v2))

          =0

         90度

 

 

 

[展开全文]

surfacefunction函数,

无返回;

inout即使输入又是输出;所以void无返回

实际上返回放在了第二个参数里面

 

[展开全文]

Suface Shader

suface shader不需要添加pass通道,他会帮我们写

rendertype渲染类型

#pragma 编译指令

 surface表示需要按照surface shader的方式编写

surfaceFunction函数名称,可以随便取名,就是下面看到的void xxx

Standard光照模型,也是一个函数;

fullfowardshadows关于阴影

target 3.0硬件modol3.0,默认使用2.0;

3.0可以更好看;

输入结构体必须uv_开头;

 

[展开全文]

settexture [反应参数]

ShaderLab:Blending

blending混合

正在渲染的叫源,其余物体叫目标;

 

[展开全文]

shaderlab 基本结构

shader“name”{

[Properties]

Subshaders

[FallBack]如果所有subshader都用不了那么shader会失败

}

material{}是个命令块

diffuse[调用一个属性作为参数]

ambient环境光

specular高光

shininess控制高光点大小;

emission自发光

[展开全文]

fixed function shaders 固定管线shader

surface shader就是对vertex跟fragment的包装;

 

[展开全文]

顶点着色器——裁剪跟深度测试——片段着色器,纹理跟雾化——Alpha测试

Shader是图形可编程方案的程序片段

渲染管线是一种计算机从数据到最终图形成像的形象描述

材质是商品,shader是方法,贴图是

[展开全文]

多张纹理混合

* 和+的区别

colormask rgb:

颜色遮蔽,指定颜色的哪些分量可以被输出

pass通道越多,drawcall次数就越多

uv动画和纹理混合,性能较佳

blend混合性能较慢

[展开全文]

混合两次采样的颜色

两次采样采用不同的uv变化

 

星空空间感案例

 

 

[展开全文]

tex2D(tex,uv,float2,float2)

 

cg 可以求得

顶点深度随x,y方向的倒数,顶点uv值随uv方向的导数。。。

 

用ddy和ddx可以求偏导。

[展开全文]

插值函数

 

条件语句可以用abs 和插值函数来 实现

[展开全文]