摘要: 1. Unity Shader的内置变量(数学篇) 使用Unity写shader的一个好处在于,它提供了很多内置参数,这使得我们不在需要自己手动算一些值。本文给出Unity内置的用于空间变换和摄像机以及屏幕参数的内置变量。这些内置变量可以在UnityShaderVariables.cginc文件中找 阅读全文
posted @ 2019-05-06 13:42 御坂御坂001 阅读(992) 评论(0) 推荐(0)
摘要: 法线变换 法线(normal),也被称为法矢量(normal vector)。在以前我们已经讲过如何使用变换矩阵来变换一个顶点或方向矢量,但法线是需要我们特殊处理的一种方向矢量。在游戏中,模型的顶点往往会携带额外的信息,而顶点法线就是其中一种信息。当我们变换一个模型的时候,不仅需要变换它的顶点,还需 阅读全文
posted @ 2019-05-06 13:39 御坂御坂001 阅读(371) 评论(0) 推荐(0)
摘要: @[TOC] 1、 顶点的坐标空间变换过程 我们知道,在渲染流水线中,一个顶点要经过多个坐标空间的变换才能最终被画在屏幕上。一个顶点最开始是在模型空间中定义的,它最后会被变换到屏幕空间中,得到真正的屏幕像素坐标。因此接下来我们将解释顶点要进行的各种空间变换的过程。 为了帮助大家理解这个过程,我们将建 阅读全文
posted @ 2019-05-06 13:37 御坂御坂001 阅读(869) 评论(0) 推荐(0)
摘要: @[TOC] 1.坐标空间 我们在以前渲染流水线中就接触了坐标空间的变换。例如,在学习顶点着色器流水线阶段时,我们说过,顶点着色器的最基本功能就是把模型的顶点坐标从模型空间转换到齐次裁剪坐标空间中。 1.2 坐标空间的变换 我们先要为后面的内容做些数学铺垫。在渲染流水线中,我们往往需要把一个点或方向 阅读全文
posted @ 2019-05-06 13:36 御坂御坂001 阅读(446) 评论(0) 推荐(0)
摘要: 1. 笛卡尔坐标系 在游戏中,我们使用的数学大部分都是为了计算位置、距离和角度等变量。而这些就算大部分是在笛卡尔坐标系下进行的。 1.1 二维笛卡尔坐标系 一个二维笛卡尔坐标系包含了两个部分的信息 1.一个特殊的位置,即原点,他是整个坐标系的中心 2.两条过原点的互相垂直的矢量,即x轴和y轴。这些坐 阅读全文
posted @ 2019-05-06 13:33 御坂御坂001 阅读(816) 评论(0) 推荐(1)
摘要: [TOC] 1. Unity Shader 的基础: ShaderLab 学习和编写着色器的过程一直是一个学习曲线很陡峭的过程,通常情况下为了自定义渲染效果往往要和很多文件和设置打交道,这些设置很容易消磨初学者的耐心。而且一些细节问题也往往需要开发者花费较多时间去解决。 Unity为了解决上述问题, 阅读全文
posted @ 2019-05-05 10:10 御坂御坂001 阅读(420) 评论(0) 推荐(0)
摘要: [TOC] 1 综述 好吧,既然是从最基础开始说起,那我们就有必要了解什么是Shader,即着色器。与之关系非常紧密的就是渲染流水线。可以说如果不了解渲染流水线的工作流程,就无法说自己真正的了解Shader。 1.1 什么是流水线 要想学会怎么使用Shader,我们首先要了解Shader是怎么工作的 阅读全文
posted @ 2019-05-04 17:11 御坂御坂001 阅读(923) 评论(0) 推荐(0)