Unity Shader 顶点着色器参数

本文深入探讨了在Unity中使用CG语言编写Shader时,顶点着色器参数的使用。通过结构体封装参数,如appdata_t、appdata_base、appdata_tan和appdata_full,包含顶点坐标、法线、纹理坐标和颜色等信息。UnityCG.cginc库提供预定义结构体,简化了参数处理。在UI Shader中,可以根据需求选择使用float2作为纹理坐标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本章主要描述在unity CG语言编写Shader的时候,顶点着色器的参数。

一般在Shader中都会将顶点着色器的参数封装为一个结构体:

struct appdata_t

{

。。。

UNITY_VERTEX_INPUT_INSTANCE_ID

};

结构体中的属性都是MeshRenderer在每次DrawCall的时候传递过来的,我们在Shader中需要用到什么属性,就在结构体中定义什么属性。

MeshRenderer传递过来的参数具体包括如下几种:

 

float4 vertex : POSITION; //顶点坐标

float4 tangent : TANGENT; // mesh到表面法线的正切值

float3 normal : NORMAL; //以对象的坐标系标准化至单位长度

float4 texcoord : TEXCOORD0;//纹理坐标系的第0个集合

float4 texcoord1 : TEXCOORD1; //纹理坐标系的第1个集合

fixed4 color : COLOR;//颜色,通常是常量,其值就是在unity对象属性窗口中针对图片设置的颜色值:

在Unity安装目录Editor\Data\CGIncludes提供了常见的CG库,我们常用的有

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值