Shader编程教程【会员免费】

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

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 和插值函数来 实现

[展开全文]

对具有color语义的变量赋值时,小于0的赋值将会被转化成0

[展开全文]

uv缩放和偏移的实现

 

任何properties中的2d类型的纹理变量

unity都会往 变量名_ST 这种 pass中声明的变量中注入缩放和便宜的数据 ,类型为float4,如果你声明了的话

 

unity的cg库中定义了一个宏 

这个宏就是uv缩放和便宜的算法,可以直接使用这个宏

 

 

 

 

[展开全文]

授课教师

课程特色

视频(78)
下载资料(1)