
UnityShader
文章平均质量分 93
记录UnityShader相关笔记
Aubyn11
这个作者很懒,什么都没留下…
展开
-
UnityShader——初级篇之开始Unity Shader学习之旅
实际上,这些事 Cg/HLSL 提供的语义。语义实际上就是要给赋给 Shader 输入和输出的字符串,这个字符串表达了这个参数的含义。通俗的讲,这些语义可以让 Shader 知道从哪里读取数据,并把数据输出到哪里,它们在 Cg/HLSL 的 Shader 流水线中是不可或缺的。需要注意的是,Unity 并没有支持所有的语义通常情况下,这些输入输出变量并不需要有特别的意义,也就是说可以自行决定这些变量的用途。例如上面的代码,顶点着色器的输出结构体中用 COLOR0 语义去描述 color 变量。原创 2024-12-01 18:41:52 · 1784 阅读 · 0 评论 -
UnityShader——基础篇之学习Shader所需的数学基础——下
裁剪空间 顶点接下来要从观察空间转换到裁剪空间(也被称为齐次裁剪空间) 中,这个用于变换的矩阵叫做裁剪矩阵,也被称为投影矩阵 裁剪空间的目标是能够方便地对渲染图元进行裁剪:完全位于这块空间内部的图元将会被保留,完全位于这块空间外部的图元将会被剔除,而与这块空间边界相交的图元就会被裁剪。这块空间是由视锥体来决定 视锥体指的是空间中的一块区域,这块区域决定了摄像机可以看到的空间。视锥体由六个平面鲍威尔成,这些平面也被称为裁剪平面。视锥体有两种类型,这涉及两种投影类型:一种是正交投影,一种是透视投影。原创 2024-10-22 21:11:36 · 1123 阅读 · 0 评论 -
UnityShader——基础篇之学习Shader所需的数学基础——上
学习Shader所需的数学基础笛卡尔坐标系二维笛卡尔坐标系三维笛卡尔坐标系左手坐标系和右手坐标系Unity使用的坐标系点和矢量点和适量的区别矢量运算1. 矢量和标量乘法/除法2.矢量的加法和减法3.矢量的模4.单位矢量5.矢量的点积6.矢量的叉积矩阵矩阵的定义和矢量联系起来矩阵运算1.矩阵和标量的乘法2.矩阵和矩阵的乘法特殊的矩阵1.方块矩阵2.单位矩阵3.转置矩阵4.逆矩阵5.正交矩阵矩阵的几何意义:变换什么是变换分解基础变换矩阵平移矩阵缩放矩阵旋转矩阵复合变换坐标空间坐标空间的转换顶点的坐标空间变换过程原创 2024-10-22 21:10:42 · 580 阅读 · 0 评论 -
UnityShader——基础篇之UnityShader基础
Unity Shader 是 Unity 为研发者提供的高层记得渲染抽象层,Unity 希望以这种方式来让开发者更加轻松的控制渲染,见下图:在 Unity 中,所有的 Unity Shader 都是使用 ShaderLab 来编写的ShaderLab 是 Unity 编写 Unity Shader 的一种说明性语言,它使用了一些嵌套在花括号内部的**语义&&(syntax。原创 2024-06-23 13:25:54 · 5722 阅读 · 1 评论 -
UnityShader——基础篇之渲染流水线
几何阶段和光栅化阶段可以分成若干更小的流水线阶段,这些流水线阶段由GPU来实现,每个阶段GPU提供了不同的可配置型或可编程性,如图:从图中可以看出,GPU的渲染流水线接受顶点数据作为输入,这些顶点数据是由应用阶段加载到显存中,再由Darw Call指定的,这些数据随后被传递给顶点着色器顶点着色器)是完全可编程的,它通常用于实现顶点的空间变换、顶点着色等功能曲面细分着色器)使一个可选的着色器,它用于细分图元几何着色器。原创 2024-04-19 11:49:35 · 1289 阅读 · 0 评论