diff --git a/Fractals Project/Assets/Scenes/MengerSponge.unity b/Fractals Project/Assets/Scenes/MengerSponge.unity index 22d5f2c..5838fc1 100644 --- a/Fractals Project/Assets/Scenes/MengerSponge.unity +++ b/Fractals Project/Assets/Scenes/MengerSponge.unity @@ -278,6 +278,166 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 33925997} m_CullTransparentMesh: 0 +--- !u!1001 &121224092 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1133224643} + m_Modifications: + - target: {fileID: 2886464298844970360, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: app + value: + objectReference: {fileID: 650338641} + - target: {fileID: 2886464298844970360, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: optionName + value: O_DOF + objectReference: {fileID: 0} + - target: {fileID: 2886464298844970360, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: max + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 2886464298844970360, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: wholeNumbers + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2886464298844970360, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: min + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412081283409038069, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 150 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -428.5 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_SizeDelta.x + value: 300 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_SizeDelta.y + value: 63 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302609, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_Name + value: DOF + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302609, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 1f834fe602c595649a57bd478ffa5942, type: 3} +--- !u!224 &121224093 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + m_PrefabInstance: {fileID: 121224092} + m_PrefabAsset: {fileID: 0} --- !u!1 &152583565 GameObject: m_ObjectHideFlags: 0 @@ -660,7 +820,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &340527707 RectTransform: m_ObjectHideFlags: 0 @@ -728,7 +888,7 @@ PrefabInstance: - target: {fileID: 117713803841485155, guid: b42cdeec70fa9e2409c1cd6d2f60154d, type: 3} propertyPath: m_RootOrder - value: 2 + value: 3 objectReference: {fileID: 0} - target: {fileID: 117713803841485155, guid: b42cdeec70fa9e2409c1cd6d2f60154d, type: 3} @@ -748,17 +908,17 @@ PrefabInstance: - target: {fileID: 117713803841485155, guid: b42cdeec70fa9e2409c1cd6d2f60154d, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 150 objectReference: {fileID: 0} - target: {fileID: 117713803841485155, guid: b42cdeec70fa9e2409c1cd6d2f60154d, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -333 objectReference: {fileID: 0} - target: {fileID: 117713803841485155, guid: b42cdeec70fa9e2409c1cd6d2f60154d, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 300 objectReference: {fileID: 0} - target: {fileID: 117713803841485155, guid: b42cdeec70fa9e2409c1cd6d2f60154d, type: 3} @@ -773,7 +933,7 @@ PrefabInstance: - target: {fileID: 117713803841485155, guid: b42cdeec70fa9e2409c1cd6d2f60154d, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 117713803841485155, guid: b42cdeec70fa9e2409c1cd6d2f60154d, type: 3} @@ -783,7 +943,7 @@ PrefabInstance: - target: {fileID: 117713803841485155, guid: b42cdeec70fa9e2409c1cd6d2f60154d, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 117713803841485155, guid: b42cdeec70fa9e2409c1cd6d2f60154d, type: 3} @@ -1135,12 +1295,12 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 650338642} + - component: {fileID: 650338641} - component: {fileID: 650338640} - component: {fileID: 650338639} - component: {fileID: 650338638} - component: {fileID: 650338637} - component: {fileID: 650338636} - - component: {fileID: 650338641} m_Layer: 8 m_Name: Camera m_TagString: Untagged @@ -1314,7 +1474,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 2 + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 23.761, y: 28.301, z: 0} --- !u!1 &671981325 GameObject: @@ -1508,7 +1668,7 @@ PrefabInstance: - target: {fileID: 4412081283409038069, guid: 1f834fe602c595649a57bd478ffa5942, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, type: 3} @@ -1568,17 +1728,17 @@ PrefabInstance: - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 150 objectReference: {fileID: 0} - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -134.5 objectReference: {fileID: 0} - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 300 objectReference: {fileID: 0} - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, type: 3} @@ -1593,7 +1753,7 @@ PrefabInstance: - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, type: 3} @@ -1603,7 +1763,7 @@ PrefabInstance: - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, type: 3} @@ -1747,7 +1907,9 @@ RectTransform: m_Children: - {fileID: 1580621263} - {fileID: 812024390} + - {fileID: 1935553946} - {fileID: 406117433} + - {fileID: 121224093} m_Father: {fileID: 340527707} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -1944,7 +2106,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 0 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &1580621262 PrefabInstance: @@ -1976,7 +2138,7 @@ PrefabInstance: - target: {fileID: 4412081283409038069, guid: 1f834fe602c595649a57bd478ffa5942, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, type: 3} @@ -2036,17 +2198,17 @@ PrefabInstance: - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 150 objectReference: {fileID: 0} - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -31.5 objectReference: {fileID: 0} - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 300 objectReference: {fileID: 0} - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, type: 3} @@ -2061,7 +2223,7 @@ PrefabInstance: - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, type: 3} @@ -2071,7 +2233,7 @@ PrefabInstance: - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, type: 3} @@ -2149,3 +2311,158 @@ MonoBehaviour: m_EditorClassIdentifier: scale: 0.5 inverted: 0 +--- !u!1001 &1935553945 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1133224643} + m_Modifications: + - target: {fileID: 2886464298844970360, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: app + value: + objectReference: {fileID: 650338641} + - target: {fileID: 2886464298844970360, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: optionName + value: O_Edge + objectReference: {fileID: 0} + - target: {fileID: 2886464298844970360, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: max + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 2886464298844970360, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: wholeNumbers + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2886464298844970360, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: min + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4412081283409038069, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 150 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -237.5 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_SizeDelta.x + value: 300 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_SizeDelta.y + value: 63 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4412081284719302609, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + propertyPath: m_Name + value: Edge + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 1f834fe602c595649a57bd478ffa5942, type: 3} +--- !u!224 &1935553946 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4412081284719302608, guid: 1f834fe602c595649a57bd478ffa5942, + type: 3} + m_PrefabInstance: {fileID: 1935553945} + m_PrefabAsset: {fileID: 0} diff --git a/Fractals Project/Assets/Scripts/MengerSponge/MengerSponge.compute b/Fractals Project/Assets/Scripts/MengerSponge/MengerSponge.compute index 76768e3..eaf2493 100644 --- a/Fractals Project/Assets/Scripts/MengerSponge/MengerSponge.compute +++ b/Fractals Project/Assets/Scripts/MengerSponge/MengerSponge.compute @@ -11,7 +11,9 @@ float4x4 CamInverseProjection; // variables int Iterations; float Size; +float Edge; bool Repeat; +float DOF; // constants static const int steps = 300; @@ -74,7 +76,7 @@ float DE(float3 p) { if (Repeat) p = RepeatSpace(p); - float d = DEBox(p, Size); + float d = DEBox(p, Size / Edge); if (Iterations > 0) d = max(-DECross(p, Size), d); // iterate and subtract @@ -92,6 +94,20 @@ float DE(float3 p) { return d; } +/*float rand(float2 uv) { + float2 noise = (frac(sin(dot(uv ,float2(12.9898,78.233)*2.0)) * 43758.5453)); + return abs(noise.x + noise.y); +} + +float3 PosToRand(float3 eye, float3 p, float d) { + float totalD = length(eye - p); + float x = rand(p.yz) - 1; + float y = rand(p.xz) - 1; + float z = rand(p.xy) - 1; + float3 disp = normalize(float3(x, y, z)); + return disp * totalD * d * (DOF / 50); +}*/ + // cast a ray and return the result float2 March(Ray ray) { float d = 0; @@ -100,8 +116,9 @@ float2 March(Ray ray) { int s = 0; while (s < steps) { d = DE(ray.origin); // calculate distance - if (length(eye - ray.origin) > 200) s = steps; // to far away + if (length(eye - ray.origin) > 200) break; // to far away if (d < epsilon) break; // hit + //ray.origin += PosToRand(eye, ray.origin, d); // DOF ray.origin += ray.direction * d; // march s++; // next iteration } @@ -120,7 +137,8 @@ void CSMain (uint3 id : SV_DispatchThreadID) { Ray ray = CreateCameraRay(uv); float2 res = March(ray); - float4 ao = res.x;// * float4(0.1, 0.74, 0.61, 0); - float4 fog = res.y;// * float4(0.1, 0.74, 0.61, 0) / 100; - Texture[id.xy] = Source[id.xy] + ao;// + fog / 2; + float4 ao = res.x * float4(0.1, 0.74, 0.61, 0); + float4 fog = 1 / (res.y + 1); + Texture[id.xy] = Source[id.xy] + ao; + //Texture[id.xy] = fog; } diff --git a/Fractals Project/Assets/Scripts/MengerSponge/MengerSponge.cs b/Fractals Project/Assets/Scripts/MengerSponge/MengerSponge.cs index bfa6c27..05b98e5 100644 --- a/Fractals Project/Assets/Scripts/MengerSponge/MengerSponge.cs +++ b/Fractals Project/Assets/Scripts/MengerSponge/MengerSponge.cs @@ -1,12 +1,12 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; +using UnityEngine; public class MengerSponge : App { private int iterations = 0; private float size = 1; + private float edge = 1; private bool repeat = false; + private float dof = 1; private void Start() { cameraType = CameraType.Orbit; @@ -21,7 +21,9 @@ protected override void Render(RenderTexture s) { shader.SetMatrix("CamInverseProjection", cam.projectionMatrix.inverse); shader.SetInt("Iterations", iterations); shader.SetFloat("Size", size); + shader.SetFloat("Edge", edge); shader.SetBool("Repeat", repeat); + shader.SetFloat("DOF", dof); shader.Dispatch(0, Mathf.CeilToInt(w / 8), Mathf.CeilToInt(h / 8), 1); } @@ -36,6 +38,11 @@ public float O_Size { set => size = value; } + public float O_Edge { + get => edge; + set => edge = value; + } + public bool O_Repeat { get => repeat; set { @@ -45,11 +52,16 @@ public bool O_Repeat { } else { cameraType = CameraType.Orbit; transform.LookAt(Vector3.zero); - transform.position = transform.position.normalized * 5; + transform.position = transform.position.normalized * Mathf.Clamp(transform.position.magnitude, 1, 5); ReRender(); } } repeat = value; } } + + public float O_DOF { + get => dof; + set => dof = value; + } } diff --git a/Fractals Project/Assets/Scripts/Utils/App.cs b/Fractals Project/Assets/Scripts/Utils/App.cs index f7969f2..6dbba2d 100644 --- a/Fractals Project/Assets/Scripts/Utils/App.cs +++ b/Fractals Project/Assets/Scripts/Utils/App.cs @@ -170,7 +170,7 @@ void Update () { // free view camera controls case CameraType.Free: - transform.Rotate(-cursor.y * Time.smoothDeltaTime * sens, cursor.x * Time.smoothDeltaTime * sens, -tilt * Time.deltaTime * sens); + transform.Rotate(-cursor.y * Time.smoothDeltaTime * 5, cursor.x * Time.smoothDeltaTime * 5, -tilt * Time.deltaTime * 5); transform.Translate(new Vector3(move.x * Time.deltaTime * sens, 0, move.y * Time.deltaTime * sens)); ReRender(); break; diff --git a/Fractals Project/Assets/Scripts/Utils/AppManager.cs b/Fractals Project/Assets/Scripts/Utils/AppManager.cs index c742a54..9b59f63 100644 --- a/Fractals Project/Assets/Scripts/Utils/AppManager.cs +++ b/Fractals Project/Assets/Scripts/Utils/AppManager.cs @@ -38,23 +38,25 @@ public void Start() { date = content.transform.GetChild(3).GetChild(1).GetChild(2).gameObject.GetComponent(); // create all apps - apps.Add(new App("Mandelbrot", false, 4640, "02 FEB", 1, + apps.Add(new App("Mandelbrot", false, 0, "02 FEB", 1, "Press R to open the options menu in which you can modify certain variables." + "\n\nUse the mouse to move around and the scroll wheel to zoom.")); - apps.Add(new App("Sierpinski", false, 1800, "11 FEB", 2, + apps.Add(new App("Sierpinski", false, 0, "11 FEB", 2, "Press R to open the options menu in which you can modify certain variables.")); - apps.Add(new App("Ray Marching 2D", false, 6370, "11 FEB", 3, + apps.Add(new App("Ray Marching 2D", false, 0, "11 FEB", 3, "Press R to open the options menu in which you can modify certain variables." + "\n\nClick to set the starting position of the ray and drag the mouse to control the direction.")); - apps.Add(new App("Ray Marching 3D", true, 2710, "28 MAR", 4, + apps.Add(new App("Ray Marching 3D", true, 0, "28 MAR", 4, "Press R to open the options menu in which you can modify certain variables." + "\n\nClick to toggle between a normal mouse and the camera controls." + "\nWhile camera controls are active use the mouse to look around, WASD key to move and Q and E to rotate")); - apps.Add(new App("Infinite Spheres", true, 4000, "29 MAR", 5, + apps.Add(new App("Infinite Spheres", true, 0, "29 MAR", 5, "Press R to open the options menu in which you can modify certain variables." + "\n\nClick to toggle between a normal mouse and the camera controls." + "\nWhile camera controls are active use the mouse to look around, WASD key to move and Q and E to rotate")); - apps.Add(new App("Mandelbulb", true, 4000, "30 APR", 6, + apps.Add(new App("Mandelbulb", true, 0, "30 APR", 6, + "Press R to open the options menu in which you can modify certain variables.")); + apps.Add(new App("Menger Sponge", true, 0, "03 MAR", 7, "Press R to open the options menu in which you can modify certain variables.")); for (int i = 0; i < apps.Count; i++) { diff --git a/Fractals Project/ProjectSettings/EditorBuildSettings.asset b/Fractals Project/ProjectSettings/EditorBuildSettings.asset index 6889d2d..51e9a05 100644 --- a/Fractals Project/ProjectSettings/EditorBuildSettings.asset +++ b/Fractals Project/ProjectSettings/EditorBuildSettings.asset @@ -26,4 +26,7 @@ EditorBuildSettings: - enabled: 1 path: Assets/Scenes/Mandelbulb.unity guid: 452249e557a60c343b157f9dd74c7dec + - enabled: 1 + path: Assets/Scenes/MengerSponge.unity + guid: c4a3be4271829e14fa075f54d785c185 m_configObjects: {}