@@ -9,14 +9,14 @@ MonoBehaviour:
9
9
m_Enabled : 1
10
10
m_EditorHideFlags : 0
11
11
m_Script : {fileID: 11500000, guid: 160e2c6c162f4a5489a4784f095d4158, type: 3}
12
- m_Name : World
12
+ m_Name : TheGlowWorld
13
13
m_EditorClassIdentifier :
14
- shaderName : World
14
+ shaderName : TheGlowWorld
15
15
shaderReference : {fileID: 4800000, guid: 87a584a97f34fd4438ddd726e04938ed, type: 3}
16
16
shaderTemplate : 2. Direct GBuffer
17
17
variables :
18
18
- key : Name
19
- value : World
19
+ value : TheGlowWorld
20
20
- key : Culling
21
21
value : Back
22
22
- key : RaymarchingShaderDirectory
@@ -44,43 +44,44 @@ MonoBehaviour:
44
44
45
45
_FloorSpecular("Floor Specular", Color) = (1.0, 1.0, 1.0, 1.0)
46
46
47
- //[Header(Additional Parameters)]
47
+ _SlideEmission("Slide Emission", Vector) = (2.0, 2.0, 5.0, 1.0)
48
48
49
- //_Grid("Grid ", 2D ) = "" {} '
49
+ _InnerEmission("Inner Emission ", Vector ) = (3.0, 1.0, 1.0, 1.0) '
50
50
folded : 0
51
51
- key : DistanceFunction
52
- value : " #define PI2 (2.0 * PI)\n #define EPS (0.01 )\n\n float2x2 rotate(in float
53
- a) \n { \n float s = sin(a), c = cos(a);\n return float2x2(c, s, -s, c);\n }\n\n //
54
- https://www.shadertoy.com/view/Mlf3Wj \n float2 foldRotate (in float2 p, in float
55
- s) \n { \n float a = PI / s - atan2(p.x, p.y) ;\n float n = PI2 / s ;\n a
56
- = floor(a / n) * n; \n p = mul(rotate(a), p) ;\n return p;\n }\n\n float HoleBox (float3
57
- pos, float3 outer, float3 inner) \n { \n return max(sdBox(pos, outer), -sdBox(pos,
58
- inner)); \n } \n\n float dOuterPillar( float3 pos) \n { \n float3 p = pos ;\n p.xz
59
- = Repeat (p.xz, float2(3, 3 ));\n p.xz = foldRotate (p.xz, 12.0 * sin(_Time.x)) ;\n
60
- \ p.y = Repeat(p.y, 0.5); \n return HoleBox(p, float3(0.3 + 0.1 * sin(36.0
61
- * _Time.x + 2.0 * Rand(float2(floor(pos.y * 2 ), 0))), 0.2, 0.3), float3(0.5,
62
- 0.15, 0.25)); \n } \n\n float dInnerPillar( float3 pos) \n { \n float3 p = pos ;\n
63
- \ p.xz = Repeat (p.xz, float2(3, 3 ));\n p.xz = foldRotate (p.xz, 12.0 * cos(12.0
64
- * _Time.x)); \n p.y = Repeat(p.y, 0.2); \n return Box(p, float3(0.3 * abs(sin(36.0
65
- * _Time.x)), 0.2, 0.15)); \n } \n\n float dFloor(float3 pos)\n {\n float3 p =
66
- pos; \n p.xz = Repeat(p.xz, 0.5); \n p. y += 1 + 0.1 * sin(36.0 * _Time.x
67
- + 2.0 * Rand(floor(2.0 * pos.xz))); \n return sdBox(p, float3(0.2, 0.2, 0.2));\n }\n\n inline
68
- float DistanceFunction(float3 pos)\n {\n float d = dFloor(pos);\n d = min(dOuterPillar(pos),
69
- d); \n d = min(dInnerPillar(pos), d);\n return d;\n }"
52
+ value : " #define PI2 (2.0 * PI)\n\n float2x2 opRotate(in float a )\n { \n float
53
+ s = sin(a), c = cos(a);\n return float2x2(c, s, -s, c);\n }\n\n // https://www.shadertoy.com/view/Mlf3Wj \n float2
54
+ opFoldRotate (in float2 p, in float s) \n { \n float a = PI / s - atan2(p.x,
55
+ p.y); \n float n = PI2 / s;\n a = floor(a / n) * n ;\n p = mul(opRotate(a),
56
+ p) ;\n return p;\n }\n\n float sdHoleBox (float3 pos, float3 outer, float3 inner) \n { \n
57
+ \ return max(sdBox(pos, outer), -sdBox(pos, inner)); \n } \n\n float dOuterPillar(float3
58
+ pos) \n { \n float3 p = pos; \n p.xz = Repeat(p.xz, float2(3, 3)) ;\n p.xz
59
+ = opFoldRotate (p.xz, 12.0 * sin(_Time.x ));\n p.y = Repeat (p.y, 0.5) ;\n return
60
+ sdHoleBox(p, float3(0.3 + 0.1 * sin(36.0 * _Time.x + 2.0 * Rand(float2(floor(pos.y
61
+ * 2 ), 0))), 0.2, 0.3), float3(0.5, 0.15, 0.25)); \n } \n\n float dInnerPillar(float3
62
+ pos) \n { \n float3 p = pos; \n p.xz = Repeat(p.xz, float2(3, 3)) ;\n p.xz
63
+ = opFoldRotate (p.xz, 12.0 * cos(12.0 * _Time.x ));\n p.y = Repeat (p.y, 0.2); \n
64
+ \ return Box(p, float3(0.3 * abs(sin(36.0 * _Time.x)), 0.2, 0.15)); \n } \n\n float
65
+ dFloor(float3 pos)\n {\n float3 p = pos; \n p.xz = Repeat(p.xz, 0.5); \n
66
+ \ p. y += 1 + 0.1 * sin(36.0 * _Time.x + 2.0 * Rand(floor(2.0 * pos.xz))); \n
67
+ \ return sdBox(p, float3(0.2, 0.2, 0.2));\n }\n\n inline float DistanceFunction(float3
68
+ pos)\n {\n float d = dFloor(pos);\n d = min(dOuterPillar(pos), d); \n d
69
+ = min(dInnerPillar(pos), d);\n return d;\n }"
70
70
folded : 0
71
71
- key : PostEffect
72
- value : " //sampler2D _Grid;\n //float4 _Grid_ST;\n float4 _FloorDiffuse;\n float4
73
- _FloorSpecular;\n\n inline void PostEffect(RaymarchInfo ray, inout PostEffectOutput
74
- o)\n {\n o.emission = half4(2.0, 2.0, 5.0, 1.0) * abs(sin(PI * 12.0 * _Time.x))
75
- * step(frac(ray.endPos.y - 4.0 * _Time.x), 0.02);\n \n if (abs(dInnerPillar(ray.endPos))
76
- < ray.minDistance)\n {\n o.emission = half4(3.0, 1.0, 1.0, 1.0) *
77
- abs(sin(PI * 24.0 * _Time.x));\n }\n \n if (abs(dFloor(ray.endPos)) <
78
- ray.minDistance)\n {\n o.diffuse = _FloorDiffuse;\n o.specular
79
- =_FloorSpecular;\n }\n }"
72
+ value : " float4 _FloorDiffuse;\n float4 _FloorSpecular;\n float4 _SlideEmission;\n float4
73
+ _InnerEmission;\n\n inline void PostEffect(RaymarchInfo ray, inout PostEffectOutput
74
+ o)\n {\n float a = frac(4.0 * ray.endPos.y - 2.0 * _Time.x - 0.5);\n float
75
+ width = 0.02;\n o.emission = _SlideEmission * abs(sin(PI * 12.0 * _Time.x))
76
+ * step(a, width) * ((a + 0.5 * width) / width);\n \n if (abs(dInnerPillar(ray.endPos))
77
+ < ray.minDistance)\n {\n o.emission = _InnerEmission * abs(sin(PI
78
+ * 24.0 * _Time.x));\n }\n \n if (abs(dFloor(ray.endPos)) < ray.minDistance)\n
79
+ \ {\n o.diffuse = _FloorDiffuse;\n o.specular =_FloorSpecular;\n
80
+ \ }\n }"
80
81
folded : 0
81
- basicFolded : 0
82
- conditionsFolded : 0
83
- variablesFolded : 0
84
- materialsFolded : 1
82
+ basicFolded : 1
83
+ conditionsFolded : 1
84
+ variablesFolded : 1
85
+ materialsFolded : 0
85
86
distanceFunction :
86
87
postEffect :
0 commit comments