24 lines
706 B
HLSL
24 lines
706 B
HLSL
|
#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
|