广州一流高校建设网站,哪里网站备案快,办公网络建设项目商务要求,甘肃园区网络搭建头文件引入#xff1a;
XXPROGRAM
...
#include UnityCG.cginc;
...
ENDXX 常用的结构体#xff08;在UnityCg.cginc文件中#xff09;#xff1a;在顶点着色器输入和输出时十分好用 。
关于如何使用这些结构体#xff0c;可在Unity安装文件目录/Editor…头文件引入
XXPROGRAM
...
#include UnityCG.cginc;
...
ENDXX 常用的结构体在UnityCg.cginc文件中在顶点着色器输入和输出时十分好用 。
关于如何使用这些结构体可在Unity安装文件目录/Editor/Data/CGIncludes下打开查看 一些常用的函数 此书是以Build-in管线为基础有些函数的名称和参数已经改变。Build-in 到URP转变手册可参考内置管线Shader升级到URP详细手册 - 简书 Unity 提供的CG/HLSL语义
何为语义语义就是赋给Shader脚本的输入和输出文档让Shader知道从哪里读取数据从哪里输出数据 在v2f结构体的TEXCOORDn中的具体语义可以由我们自己定义换句话说对于任何需要传输坐标的情形我们都可以采用TEXCOORDn去描述。 更详细的知识可参考Directx文档
DirectX 编程 - UWP applications | Microsoft Learn
关于渲染平台的差异 在OpenGL和DirectX的纹理坐标的y轴是相反的如果使用了纹理贴图和后处理效果而不注重屏幕坐标空间在不同渲染平台的差异的话会出现纹理翻转。因此为了解决这个问题 我们需要翻转y轴。一般情况下Unity会为我们自动处理这个问题但我们若开启了抗锯齿Edit-Project Settings-Quality-Anti Aliasing的同时使用了渲染纹理Unity就不会为我们翻转纹理默认情况下是符合DirectX的平台规定。当我们此时的屏幕特效只需要使用一张渲染图像即只采样一次就不需要在意纹理翻转的情况因为在我们调用Graphics.Blit函数时Unity已经为我们对屏幕图像的采样坐标进行了处理只需要正常采样过程处理屏幕图像就行了但如果要同时处理多张渲染图像有抗锯齿)举个例子对于Part-Bloom效果我们需要同时提取需要高亮部分渲染出一张纹理再将起模糊且高亮这种情况就使用了多张纹理手动进行纹理翻转。
采用如下代码进行纹理翻转。 Shader中的数据类型 对于只使用方向的单位向量用fixed就足够了
Shader Target。