《Unity着色器圣经》7.0.2 | 环境光颜色
目录索引 译文 现实世界中随处可见光影的踪迹,光和影是给物体带来体积感的重要元素之一。有趣的是,所有不发光的物体本质都是黑暗的,而我们之所以能够分辨出物体的一个面和另一个面,靠的是光...
《Unity着色器圣经》8.0.5 | 内置渲染管线下的阴影贴图优化
目录索引 译文 我们在前面几个小节中实现阴影的过程可以通过使用 Unity 中内置的宏来优化: SHADOW_COORDS(n) TRANSFER_SHADOW(output) SHADOW_ATTENUATION(output) 我们可以用这些宏替换一些原...
《Unity着色器圣经》3.2.1 | ShaderLab剔除
目录索引 译文 内置渲染管线(Built-in)和可编程渲染管线(SRP)都支持剔除命令,它能够在像素深度处理中选择删除模型的哪个面。这是什么意思?回想一下,模型对象有内表面和外表面。默认情况...
《Unity着色器圣经》3.3.2 | Cg/HLSL顶点着色器
目录索引 译文 顶点着色器对应于渲染管线中的一个可编程阶段,顶点在这里从三维空间变换为屏幕上的二维投影。顶点着色器的最小计算单位相当于一个独立的顶点。 在 USB_simple_color 着色器中,...
《Unity着色器圣经》7.0.3 | 漫反射
目录索引 译文 一般来说,物体表面有两种类型的反射:漫反射和镜面反射。漫反射(Diffuse Reflection)遵循约翰·海因里希·兰伯特(Johann Heinrich Lambert)的兰伯特余弦辐射体,兰伯特在考...
《Unity着色器圣经》4.0.9. | Ceil function.
目录索引 译文 根据NVIDIA的官方文档: Ceil returns the smallest integer not less than a scalar or each vector component. 这是什么意思?函数ceil(n)将返回一个整数,也就是说,没有小...
《Unity着色器圣经》3.2.2 | ShaderLab深度写入
目录索引 译文 深度写入这个命令控制了物体表面像素写入 Z 缓冲(深度缓冲)的这一过程。它允许我们忽略或写入物体与相机间的深度。深度写入有两个可以设置的值,分别是开启(On)和关闭(Off)...
《Unity着色器圣经》7.0.4 | 镜面反射
目录索引 译文 计算机图形学中,最常用的一种反射模型是由裴祥风(Bui Tuong Phong)发明的 Phong 模型,该模型根据模型的法线实现了镜面反射。在 Maya 3D 中有一种材质就叫这个名字,可以为...
《Unity着色器圣经》11.0.1 | Implementing functions with Sphere Tracing.
目录索引 译文 为了正确使用该技术,有必要在着色器中定义至少两个函数。为此,我们必须考虑: 用于确定曲面类型的SDF函数。 另一个计算球体投影的函数。 在Unity中,我们将创建一个类型为“Unl...
《Unity着色器圣经》4.1.1. | Sin and Cos function.
目录索引 译文 这些三角函数指的是角度的正弦和余弦,即: 余弦是指,相邻边和斜边之间的比率。 正弦是指,对边和斜边之间的比率。 其语法如下: float cos (float n); float2 cos (float2 n); ...