美文网首页
一、Shader基础:7、顶点里的基本操作

一、Shader基础:7、顶点里的基本操作

作者: GameObjectLgy | 来源:发表于2021-04-02 23:36 被阅读0次
一、空间变换
VertexOutput vert (VertexInput v)
 {
    VertexOutput o = (VertexOutput)0; // 新建一个输出结构
    o.pos = UnityObjectToClipPos( v.vertex ); // 变换顶点信息 并将其塞给输出结构
    o.nDirWS = UnityObjectToWorldNormal(v.normal); // 变换法线信息 并将其塞给输出结构
    return o; // 将输出结构 输出
}
  • 1、顶点位置->齐次裁剪空间
    o.pos = UnityObjectToClipPos:将模型空间下的顶点转换到齐次裁剪空间。可以理解为由模型顶点信息换算而来的顶点屏幕位置。
    o.nDirWS = UnityObjectToWorldNormal:将模型空间下的法线转换到世界空间(已归一化)。
  • 2、顶点位置->世界空间
    o.posWS = mul(unity_ObjectToWorld, v.vertex);
投影

TRANSFER_VERTEX_TO_FRAGMENT(o) 增加投影。需要同时在输出结构增加LIGHTING_COORDS(0,1) ,并且增加库文件。

include "AutoLight.cginc" // 使用Unity投影必须包含这两个库文件

include "Lighting.cginc" // 同上

相关文章

网友评论

      本文标题:一、Shader基础:7、顶点里的基本操作

      本文链接:https://www.haomeiwen.com/subject/nvcrfltx.html