diff options
| author | yum <yum.food.vr@gmail.com> | 2025-12-18 01:00:14 -0800 |
|---|---|---|
| committer | yum <yum.food.vr@gmail.com> | 2025-12-18 01:00:14 -0800 |
| commit | f7c5e546c220f0f7be8ec3a9cccdb4641114cfe1 (patch) | |
| tree | b287927c2d8a0d7781a56550066f222bac96b745 /vertex.cginc | |
| parent | 55a9113a1b7bc23a810606c2ed03d56c55aca060 (diff) | |
screw with operator ordering
Diffstat (limited to 'vertex.cginc')
| -rw-r--r-- | vertex.cginc | 68 |
1 files changed, 38 insertions, 30 deletions
diff --git a/vertex.cginc b/vertex.cginc index 40c283f..9a1ed2f 100644 --- a/vertex.cginc +++ b/vertex.cginc @@ -152,16 +152,16 @@ #if defined(_VERTEX_DEFORMATION_FBM) #define VERTEX_DEFORM_FBM_PREAMBLE \ float st = t; \ - float amplitude = _Vertex_Deformation_FBM_Amplitude; \ + float3 amplitude = _Vertex_Deformation_FBM_Amplitude; \ float gain = _Vertex_Deformation_FBM_Gain; \ float lacunarity = _Vertex_Deformation_FBM_Lacunarity; \ - float scale = _Vertex_Deformation_FBM_Scale; \ + float3 period = _Vertex_Deformation_FBM_Period; \ float octaves = _Vertex_Deformation_FBM_Octaves; \ float3 velocity = _Vertex_Deformation_FBM_Velocity #define VERTEX_DEFORM_FBM_POS \ - objPos = fbm(objPos, st, amplitude, gain, lacunarity, scale, octaves, velocity) + objPos = fbm(objPos, st, amplitude, gain, lacunarity, period, octaves, velocity) #define VERTEX_DEFORM_FBM_NORM \ - fbm_normal(objPos, objNorm, objTan, st, amplitude, gain, lacunarity, scale, octaves, velocity) + fbm_normal(objPos, objNorm, objTan, st, amplitude, gain, lacunarity, period, octaves, velocity) #else #define VERTEX_DEFORM_FBM_PREAMBLE #define VERTEX_DEFORM_FBM_POS @@ -170,29 +170,40 @@ void deform(inout float3 objPos) { const float t = getTime(); + // Tube to plane. { - VERTEX_DEFORM_TUBE_TO_PLANE_0_PREAMBLE; - VERTEX_DEFORM_TUBE_TO_PLANE_0_POS; - } - { - VERTEX_DEFORM_AXIS_ALIGN_PREAMBLE; - VERTEX_DEFORM_AXIS_ALIGN_POS; - } - { - VERTEX_DEFORM_TUBE_TO_PLANE_1_PREAMBLE; - VERTEX_DEFORM_TUBE_TO_PLANE_1_POS; + { + VERTEX_DEFORM_TUBE_TO_PLANE_0_PREAMBLE; + VERTEX_DEFORM_TUBE_TO_PLANE_0_POS; + } + { + VERTEX_DEFORM_AXIS_ALIGN_PREAMBLE; + VERTEX_DEFORM_AXIS_ALIGN_POS; + } + { + VERTEX_DEFORM_TUBE_TO_PLANE_1_PREAMBLE; + VERTEX_DEFORM_TUBE_TO_PLANE_1_POS; + } } + // Here we're a plane. { - VERTEX_DEFORM_PLANE_TO_TUBE_0_PREAMBLE; - VERTEX_DEFORM_PLANE_TO_TUBE_0_POS; - } - { - VERTEX_DEFORM_POINT_ALIGN_PREAMBLE; - VERTEX_DEFORM_POINT_ALIGN_POS; + VERTEX_DEFORM_FBM_PREAMBLE; + VERTEX_DEFORM_FBM_POS; } + // Plane to tube. { - VERTEX_DEFORM_PLANE_TO_TUBE_1_PREAMBLE; - VERTEX_DEFORM_PLANE_TO_TUBE_1_POS; + { + VERTEX_DEFORM_PLANE_TO_TUBE_0_PREAMBLE; + VERTEX_DEFORM_PLANE_TO_TUBE_0_POS; + } + { + VERTEX_DEFORM_POINT_ALIGN_PREAMBLE; + VERTEX_DEFORM_POINT_ALIGN_POS; + } + { + VERTEX_DEFORM_PLANE_TO_TUBE_1_PREAMBLE; + VERTEX_DEFORM_PLANE_TO_TUBE_1_POS; + } } { VERTEX_DEFORM_NORM_CONVERSION_PREAMBLE; @@ -206,10 +217,6 @@ void deform(inout float3 objPos) { VERTEX_DEFORM_SINE_WAVES_PREAMBLE; VERTEX_DEFORM_SINE_WAVES_POS; } - { - VERTEX_DEFORM_FBM_PREAMBLE; - VERTEX_DEFORM_FBM_POS; - } } void deform_normal(inout float3 objPos, inout float3 objNorm, inout float3 objTan) { @@ -226,6 +233,11 @@ void deform_normal(inout float3 objPos, inout float3 objNorm, inout float3 objTa VERTEX_DEFORM_TUBE_TO_PLANE_1_PREAMBLE; VERTEX_DEFORM_TUBE_TO_PLANE_1_NORM; } + // Here we're a plane. + { + VERTEX_DEFORM_FBM_PREAMBLE; + VERTEX_DEFORM_FBM_NORM; + } { VERTEX_DEFORM_PLANE_TO_TUBE_0_PREAMBLE; VERTEX_DEFORM_PLANE_TO_TUBE_0_NORM; @@ -250,10 +262,6 @@ void deform_normal(inout float3 objPos, inout float3 objNorm, inout float3 objTa VERTEX_DEFORM_SINE_WAVES_PREAMBLE; VERTEX_DEFORM_SINE_WAVES_NORM; } - { - VERTEX_DEFORM_FBM_PREAMBLE; - VERTEX_DEFORM_FBM_NORM; - } } void propagateObjPos(inout v2f i) { |
