202201-23 Shader法线贴图 定义 法线贴图就是在原物体的凹凸表面的每个点上均作法线,通过RGB颜色通道来标记法线的方向,你可以把它理解成与原凹凸表面平行的另一个不同的表面,但实际上它又只是一个光滑的平面。对于视觉效果而言,它的效率比原有的凹凸表面更高,若在特定位置上应用光源,可以让细节程度较低的表面生成高细节程度的精确.... Read More >
202201-23 Shader纹理映射 纹理映射坐标(UV坐标) 定义了该定点在纹理中对应的2D坐标。通常用一个二维变量(u, v)表示,u为横坐标,v为纵坐标,坐标原点在左下角。uv值为0~1 效果 代码 [crayon-628846d42c3e5718637063/] .... Read More >
202201-21 UnityShader内置函数 UnityCG.cginc 常用数据结构体 输入 appdata_base 顶点着色器输入,包含位置、法线和一个纹理坐标。 [crayon-628846d42c942190862226/] appdata_tan 顶点着色器输入,包含位置、法线、切线和一个纹理坐标。 [crayon-628846d42c94a187247002/] appdata_.... Read More >
202201-18 Shader常见光照模型 常见的光照模型有以下几种 Lambert(兰伯特) Half Lambert(半兰伯特) Phong Blinn Phong Lambert(兰伯特) 粗糙的物体表面向各个方向等强度地反射光的现象叫作漫反射,产生这种现象的表面体称为理想漫反射体(Lambert .... Read More >
202201-18 Shader高光反射BlinnPhong 定义 1977年,一个名叫James F. Blinn的人提出了另一种计算镜面高光的方法。运用这种方法的Phong光照模型就称为Blinn-Phong光照模型。从名字上就可以看出,这种模型并没有对Phong模型进行大改动(否则就是Blinn光照模型了)。没错,它只是对计算镜面高光的算法进行了.... Read More >
202201-17 Shader高光反射Phong 定义 高光反射是一种经验模型,并不完全符合真实世界中的高光反射现象,用于计算那些沿着完全镜面反射方向被反射的光线,可以让物体看起来有光泽,比如金属材质。 计算高光反射需要知道 表面法线,视角方向,光源方向,反射方向等 公式 高光反射Specular = 直射光 * .... Read More >
202201-14 Shader漫反射 定义 漫反射,是投射在粗糙表面上的光向各个方向反射的现象。当一束平行的入射光线射到粗糙的表面时,表面会把光线向着四面八方反射,所以入射线虽然互相平行,由于各点的法线方向不一致,造成反射光线向不同的方向无规则地反射,这种反射称之为“漫反射”或“漫射”。这种反射的光称为漫射光。很多物体,如植物、.... Read More >
202201-09 Shader中Properties介绍 写法 Properties { Property [Property ...]} [crayon-628846d42fd0d376737108/] 类型 数字和滑动条 [crayon-628846d42fd14560655293/] 颜色和矢量 [.... Read More >
202201-09 Shader顶点/片元着色器示例 效果预览 最基础的顶点/片元着色器 [crayon-628846d43043f337392309/] 获取更多的模型数据 [crayon-628846d430446409750278/] 顶点着色器和片元着色器之间的通信 [crayon-.... Read More >
202201-09 Shader顶点/片元着色器 顶点/片元着色器 在整个渲染流程,顶点与片元阶段是可编程的,也就是在此阶段我们才可以对模型的渲染过程进行修改,达到我们想要的渲染效果。 顶点、片元着色器定义在SubShader中的Pass块中,编写顶点、片元着色器更为复杂,但是灵活性更高,我们可以控制的细节更多。 示例 [crayon-628846d430a6a122325215/] 解释 #pragma v.... Read More >