yum-archive/2ner

A toon shader for Unity's BIRP.

git clone https://git.yummers.dev/yum-archive/2ner

yumConvert fake origins code to tangent spaceb000eb9

master
1.1 KiB35 linesraw
1#ifndef __VERTEX_DOMAIN_WARPING_INC
2#define __VERTEX_DOMAIN_WARPING_INC
3
4#include "audiolink.cginc"
5#include "features.cginc"
6#include "globals.cginc"
7#include "math.cginc"
8
9float3 domainWarpVertexPosition(float3 objPos) {
10#if defined(_VERTEX_DOMAIN_WARPING)
11  float speed = _Vertex_Domain_Warping_Speed;
12  float scale = _Vertex_Domain_Warping_Scale;
13  float strength = _Vertex_Domain_Warping_Strength;
14  uint octaves = (uint) _Vertex_Domain_Warping_Octaves;
15
16#if defined(_VERTEX_DOMAIN_WARPING_AUDIOLINK)
17  [branch]
18  if (AudioLinkIsAvailable()) {
19    float vu = AudioLinkData(ALPASS_FILTEREDVU_INTENSITY + uint2(0, 0));
20    strength += vu * _Vertex_Domain_Warping_Audiolink_VU_Strength_Factor;
21    scale += vu * _Vertex_Domain_Warping_Audiolink_VU_Scale_Factor;
22  }
23#endif
24
25  for (uint i = 0; i < octaves; i++) {
26    float3 uv = objPos * scale + speed * _Time[0];
27    float3 noise = _Vertex_Domain_Warping_Noise.SampleLevel(linear_repeat_s, uv, 0);
28    objPos += (noise * 2 - 1) * strength;
29  }
30#endif  // _VERTEX_DOMAIN_WARPING
31  return objPos;
32}
33
34#endif  // __VERTEX_DOMAIN_WARPING_INC
35