#ifndef PMESHNOISE_INCLUDED
#define PMESHNOISE_INCLUDED

#include "PUniforms.cginc"
#include "PCommon.cginc"

void ApplyMeshNoise(half amount, half noiseFrequency, inout float4 localPos)
{
	float4 worldPos = mul(unity_ObjectToWorld, localPos);
	half offsetX = NoiseTexVert(worldPos.xz/noiseFrequency)*amount* _PoseidonSineTime;
	half offsetZ = NoiseTexVert(-worldPos.xz/noiseFrequency)*amount* _PoseidonSineTime;

	worldPos += float4(offsetX, 0, offsetZ, 0);
	localPos = mul(unity_WorldToObject, worldPos);
}

void ApplyMeshNoise(inout float4 v0, inout float4 v1, inout float4 v2)
{
	ApplyMeshNoise(_MeshNoise, 100, v0);
	ApplyMeshNoise(_MeshNoise, 100, v1);
	ApplyMeshNoise(_MeshNoise, 100, v2);
}
#endif