unityshader学习(二)颜色调节

学习自:https://zhuanlan.zhihu.com/p/47880664

Shader "Unlit/NewUnlitShader"//名称路径,可修改 前加Hidden可隐藏路径选项
{
	//属性
    Properties
    {
		_Color("Color",Color) = (1,1,1,1)
    }
   
	//【shader核心算法实现的地方。可以有多个subshader,但是只能加载一个】
	SubShader
    {
        //【进行一次模型渲染】
        Pass
        {
           CGPROGRAM
		   #pragma vertex vert//声明顶点着色器
		   #pragma fragment frag//声明片段着色器

		   fixed4 _Color;//属性中的变量要再次声明 float half fixed都是浮点数

		   float4 vert(float4 vertex:POSITION) :SV_POSITION{
			     return UnityObjectToClipPos(vertex);//将顶点坐标转换到裁剪坐标
           }

		   
		   float4 frag() :SV_TARGET{
			   return _Color;
		   }

		   ENDCG
        }
    }
	
}

【注意】

1.标记
POSITION语义是用于顶点着色器,用来指定模型的顶点位置,是在变换前的顶点的本地空间坐标。SV_POSITION语义则用于像素着色器,用来标识经过顶点着色器变换之后的顶点坐标。SV_TARGET是系统值,表示该函数返回的是用于下一个阶段输出的颜色值,也就是我们最终输出到显示器上的值。

2.着色器执行次数
片元着色器与图形像素个数有关,顶点着色器与图形定点数有关。从执行次数上来看,顶点着色器的执行次数一般小于片元着色器,因此比较消耗时间的算法可以在这里面进行。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值