很简单,注意每次传入的顶点值是没有偏移过的
Shader "Custom/Waves"
{
Properties
{
_MainTex("Texture", 2D) = "white" {}
_WaveSpeed("Speed", float) = 0.0
_WaveStrength("Strength", Range(0.0, 1.0)) = 0.0
}
SubShader
{
Tags{ "RenderType" = "Opaque" "LightMode" = "ForwardBase" }
Cull Off
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma enable_d3d11_debug_symbols
#include "UnityCG.cginc"
struct v2f {
float4 pos : SV_POSITION;
float4 vertex : TEXCOORD1;
float2 uv : TEXCOORD0;
};
fixed4 _LightColor0;
float _WaveStrength;
float _WaveSpeed;
float4 movement(float4 pos, float2 uv) {
pos.y