Shader "Unlit/vf2"
{
//in out 输入与输出
//vert返回的数据传入frag里
//所有的数据都可以从上一个处理站传到下一个
//可以理解为 In 为系统输入,Out由开发者输出
Properties
{
}
SubShader
{
Pass
{
CGPROGRAM
// Upgrade NOTE: excluded shader from DX11, OpenGL ES 2.0 because it uses unsized arrays
#pragma exclude_renderers d3d11 gles
#pragma vertex vert
#pragma fragment frag
// make fog work
#pragma multi_compile_fog
#include "UnityCG.cginc"
//vert 中in输入接收到物体传过来的 objPos物体坐标位置
// out将颜色信息 输出到frag中 进行颜色的下一步处理
//vert中可以有多个out输出 但语义不能重复
//POSITION语义的数据 在frag里不需要in接收 程序会自动帮我们完成
void vert (in float2 objPos:POSITION,out float4 pos:POSITION,out float4 col:COLOR0)
{
pos = float4(objPos,0,1);
col = pos; //CG中 只要数据类型相同 就可以赋值 与语义无关
Unity_Shader_顶点数据的in和out输入与输出
最新推荐文章于 2024-05-25 17:13:10 发布