屏幕坐标设置颜色变化(根据透视x坐标实现一个红色光带)
2016-04-15 09:52
597 查看
Shader "Custom/test1" { SubShader { pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #include "unitycg.cginc" float4x4 mvp; float dir; float r; struct v2f{ float4 pos:POSITION; fixed4 col:COLOR; }; v2f vert(appdata_base v) { v2f o; o.pos = mul(UNITY_MATRIX_MVP,v.vertex); //透视除法 o.pos.x = o.pos.x/o.pos.w; o.pos.y = o.pos.y/o.pos.w; //根据x的屏幕坐标设置颜色的变化 float X = o.pos.x; if(X>dir&&X<dir+r) o.col = float4(1,0,0,1); else o.col = float4(X/2+0.5,X/2+0.5,X/2+0.5,1); return o; } fixed4 frag(v2f IN):COLOR { return IN.col; } ENDCG } } } using UnityEngine; using System.Collections; public class setFloat : MonoBehaviour { private float dir=-1; private float r=0.1f; // Use this for initialization void Start () { } // Update is called once per frame void Update () { dir+=Time.deltaTime; GetComponent<Renderer>().material.SetFloat("dir",dir); GetComponent<Renderer>().material.SetFloat("r",r); } }
相关文章推荐
- 基于scrapy的挖掘系统所需环境汇总
- 开源软件的十二个文化基因
- C++基础-----程序自我复制
- 服务器上下文切换太多?这里有解决办法!
- 图的深度遍历和广度遍历--邻接链表法
- ThinkPHP通过AJAX返回JSON的两种实现方法
- HP Onboard Administrator 固件升级
- 简单的顶点着色(根据模型坐标和世界坐标位置)
- JVM调优总结 + jstat 分析
- 顶点进行缩放旋转操作
- 二维数组做参数问题
- 基于bootstrap的一些admin主题
- 前端打包构建工具gulp快速入门
- leetCode 96:Unique Binary Search Tree
- MVP矩阵顶点变换
- Weblogic理解及配置
- ruby 再mac下的安装
- [工作记录]ListView添加FootView,LayoutParams转化出错
- WordPress 在线问答插件 DW Question & Answer
- redis encache memcache 区别