前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Shader初学笔记:简单参数传入随机颜色

Shader初学笔记:简单参数传入随机颜色

原创
作者头像
clawclaw
修改2018-03-26 14:44:48
2.4K3
修改2018-03-26 14:44:48
举报
文章被收录于专栏:Unity Shader

//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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档