diff options
| author | yum <yum.food.vr@gmail.com> | 2025-02-23 16:32:47 -0800 |
|---|---|---|
| committer | yum <yum.food.vr@gmail.com> | 2025-02-23 16:32:47 -0800 |
| commit | 63e32a6fc92baecea75942d9389c9fb17540277d (patch) | |
| tree | 258d1897e7633c358b1121c9e84e9af1f7437174 | |
| parent | f478606867d42e971c5fa83803f3255e922e6a8a (diff) | |
Add UV domain warping
| -rw-r--r-- | 2ner.shader | 11 | ||||
| -rw-r--r-- | features.cginc | 4 | ||||
| -rw-r--r-- | globals.cginc | 6 | ||||
| -rw-r--r-- | math.cginc | 5 | ||||
| -rw-r--r-- | yum_pbr.cginc | 7 |
5 files changed, 31 insertions, 2 deletions
diff --git a/2ner.shader b/2ner.shader index c87db80..a0b4689 100644 --- a/2ner.shader +++ b/2ner.shader @@ -53,7 +53,7 @@ Shader "yum_food/2ner" [HideInInspector] m_start_AO("Ambient occlusion", Float) = 0 [ThryToggle(_AMBIENT_OCCLUSION)]_Ambient_Occlusion_Enabled("Enable", Float) = 0 _OcclusionMap("Ambient occlusion", 2D) = "white" {} - _OcclusionStrength("Ambient occlusion", Range(0,1)) = 1 + _OcclusionStrength("Ambient occlusion", Float) = 1 [HideInInspector] m_end_AO("Metallics", Float) = 0 //endex @@ -244,6 +244,15 @@ Shader "yum_food/2ner" [HideInInspector] m_end_Vertex_Domain_Warping("Vertex domain warping", Float) = 0 //endex + //ifex _UV_Domain_Warping_Enabled==0 + [HideInInspector] m_start_UV_Domain_Warping("UV domain warping", Float) = 0 + [ThryToggle(_UV_DOMAIN_WARPING)]_UV_Domain_Warping_Enabled("Enable", Float) = 0 + _UV_Domain_Warping_Spatial_Strength("Spatial warping strength", Float) = 0.10 + _UV_Domain_Warping_Spatial_Scale("Spatial warping scale", Float) = 0.10 + _UV_Domain_Warping_Spatial_Octaves("Spatial warping octaves", Float) = 1.0 + [HideInInspector] m_end_UV_Domain_Warping("UV domain warping", Float) = 0 + //endex + //ifex _Eye_Effect_00_Enabled==0 [HideInInspector] m_start_Eye_Effect_00("Eye effect 00", Float) = 0 [ThryToggle(_EYE_EFFECT_00)]_Eye_Effect_00_Enabled("Enable", Float) = 0 diff --git a/features.cginc b/features.cginc index 82d8322..bead254 100644 --- a/features.cginc +++ b/features.cginc @@ -75,6 +75,10 @@ #pragma shader_feature_local _VERTEX_DOMAIN_WARPING //endex +//ifex _UV_Domain_Warping_Enabled==0 +#pragma shader_feature_local _UV_DOMAIN_WARPING +//endex + //ifex _Eye_Effect_00_Enabled==0 #pragma shader_feature_local _EYE_EFFECT_00 //endex diff --git a/globals.cginc b/globals.cginc index e991342..90434ec 100644 --- a/globals.cginc +++ b/globals.cginc @@ -175,6 +175,12 @@ float _Vertex_Domain_Warping_Speed; float _Vertex_Domain_Warping_Temporal_Strength;
#endif // _VERTEX_DOMAIN_WARPING
+#if defined(_UV_DOMAIN_WARPING)
+float _UV_Domain_Warping_Spatial_Strength;
+float _UV_Domain_Warping_Spatial_Scale;
+float _UV_Domain_Warping_Spatial_Octaves;
+#endif
+
#if defined(_EYE_EFFECT_00)
float _Gimmick_Eye_Effect_00_Edge_Length;
float3 _Gimmick_Eye_Effect_00_Period;
@@ -5,6 +5,7 @@ #define PI 3.14159265358979323846264
#define TAU (2 * PI)
+#define PHI 1.618033989
float pow5(float x)
{
@@ -65,12 +66,14 @@ float2 domainWarp1(float x, uint octaves, float strength, float scale) float2 domainWarp2(float2 uv, uint octaves, float strength, float scale)
{
+ uv *= 0.001;
[loop]
for (uint i = 0; i < octaves; i++) {
uv += strength * frac(sin(float2(
dot(uv * scale, float2(12.9898, 78.233)),
- dot(uv * scale + 1, float2(12.9898, 78.233))) * 43758.5453123));
+ dot(uv * scale, float2(36.7539, 50.3658))) * 43758.5453123));
}
+ uv *= 1000;
return uv;
}
diff --git a/yum_pbr.cginc b/yum_pbr.cginc index fb14ac1..a01bc63 100644 --- a/yum_pbr.cginc +++ b/yum_pbr.cginc @@ -4,6 +4,7 @@ #include "features.cginc" #include "filamented.cginc" #include "globals.cginc" +#include "math.cginc" #include "texture_utils.cginc" struct YumPbr { @@ -22,6 +23,12 @@ struct YumPbr { YumPbr GetYumPbr(v2f i) { YumPbr result; + float2 raw_uv = i.uv01.xy; +#if defined(_UV_DOMAIN_WARPING) + i.uv01.xy = domainWarp2(i.uv01.xy, _UV_Domain_Warping_Spatial_Octaves, + _UV_Domain_Warping_Spatial_Strength, _UV_Domain_Warping_Spatial_Scale); +#endif + #if defined(OUTLINE_PASS) result.albedo = _Outline_Color; result.albedo.a *= tex2D(_MainTex, |
