//Shader
Shader "简单传入参数"
{
Properties
{
//要传入的参数,一定不要在这里定义成属性
}
SubShade
{
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
fixed4 _clr; //定义要传入的颜色
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
return _clr; //返回要渲染的颜色
}
ENDCG
}
}
}
//Script
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ForShader : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
//生成随机颜色
Vector4 clr = new Vector4(Random.value, Random.value, Random.value, 1);
//将颜色传给Shader中的变量"_clr", 将传给所有Shader中_clr变量
Shader.SetGlobalVector("_clr", clr);
}
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。