diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..05699b5
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "Plugins/FidelityFX-FSR"]
+ path = Plugins/FidelityFX-FSR
+ url = https://github.com/FlaxEngine/FidelityFX-FSR
diff --git a/GoakeFlax.flaxproj b/GoakeFlax.flaxproj
index 182c4b6..525d56c 100644
--- a/GoakeFlax.flaxproj
+++ b/GoakeFlax.flaxproj
@@ -1,13 +1,16 @@
{
"Name": "GoakeFlax",
"Version": "1.0",
- "Company": "My Company",
+ "Company": "Ari Vuollet",
"Copyright": "",
"GameTarget": "GameTarget",
"EditorTarget": "GameEditorTarget",
"References": [
{
"Name": "$(EnginePath)/Flax.flaxproj"
+ },
+ {
+ "Name": "$(ProjectPath)/Plugins/FidelityFX-FSR/FidelityFX-FSR.flaxproj"
}
],
"DefaultScene": "194e05f445ece24ec5448d886e1334df",
@@ -23,6 +26,5 @@
"Z": 0.338997364
}
},
- "MinEngineVersion": "0.0.6194",
- "EngineNickname": null
+ "MinEngineVersion": "0.0.6194"
}
\ No newline at end of file
diff --git a/Plugins/FidelityFX-FSR b/Plugins/FidelityFX-FSR
new file mode 160000
index 0000000..5db14b8
--- /dev/null
+++ b/Plugins/FidelityFX-FSR
@@ -0,0 +1 @@
+Subproject commit 5db14b8bc98cc225e2a81a1aa8bdf9d784ba3be9
diff --git a/Source/Game/Cabrito/EngineSubsystem.cs b/Source/Game/Cabrito/EngineSubsystem.cs
index 4b58df4..644a3bd 100644
--- a/Source/Game/Cabrito/EngineSubsystem.cs
+++ b/Source/Game/Cabrito/EngineSubsystem.cs
@@ -104,5 +104,22 @@ namespace Cabrito
}
}
}
+
+ [ConsoleVariable("r_renderscale")]
+ public static string RenderScale
+ {
+ get
+ {
+ return MainRenderTask.Instance.RenderingPercentage.ToString();
+ }
+ set
+ {
+ if (float.TryParse(value, out float valueFloat))
+ {
+ valueFloat = Mathf.Clamp(valueFloat, 0.00001f, 4.0f);
+ MainRenderTask.Instance.RenderingPercentage = valueFloat;
+ }
+ }
+ }
}
}
\ No newline at end of file
diff --git a/Source/Game/CameraRender.cs b/Source/Game/CameraRender.cs
new file mode 100644
index 0000000..fbe23e4
--- /dev/null
+++ b/Source/Game/CameraRender.cs
@@ -0,0 +1,75 @@
+using System;
+using System.Collections.Generic;
+using FlaxEngine;
+
+namespace Game
+{
+ ///
+ /// CameraRender Script.
+ ///
+ public class CameraRender : Script
+ {
+ public Camera camera;
+
+ private PostProcessEffect fidelityFx;
+
+ public override void OnStart()
+ {
+ // Here you can add code that needs to be called when script is created, just before the first game update
+ MainRenderTask.Instance.Render += InstanceOnRender;
+ MainRenderTask.Instance.PostRender += OnPostRender;
+
+ foreach (PostProcessEffect fx in SceneRenderTask.GlobalCustomPostFx)
+ {
+ if (fx.TypeName == "FidelityFX.FSRPostFx")
+ fidelityFx = fx;
+ Debug.Log("fx: " + fx.TypeName);
+ }
+
+ MainRenderTask.Instance.RenderingPercentage = 1f;
+ }
+
+ private void InstanceOnRender(RenderTask renderTask, GPUContext gpuContext)
+ {
+ //gpuContext.Clear();
+ var outputView = MainRenderTask.Instance.OutputView;
+ var viewport = camera.Viewport;
+ MainRenderTask.Instance.View.CopyFrom(camera, ref viewport);
+
+ //MainRenderTask.Instance.View.CopyFrom(Camera.MainCamera);
+ }
+
+ private void OnPostRender(GPUContext gpuContext, ref RenderContext renderContext)
+ {
+ //var viewport = MainRenderTask.Instance.Viewport;
+ //var viewport2 = camera.Viewport;
+
+ MainRenderTask.Instance.View.CopyFrom(Camera.MainCamera);
+ }
+
+ ///
+ public override void OnEnable()
+ {
+ // Here you can add code that needs to be called when script is enabled (eg. register for events)
+ }
+
+ ///
+ public override void OnDisable()
+ {
+ MainRenderTask.Instance.Render -= InstanceOnRender;
+ MainRenderTask.Instance.PostRender -= OnPostRender;
+ // Here you can add code that needs to be called when script is disabled (eg. unregister from events)
+ }
+
+ ///
+ public override void OnUpdate()
+ {
+ if (Input.GetKeyDown(KeyboardKeys.F8))
+ {
+ fidelityFx.Enabled = !fidelityFx.Enabled;
+ Cabrito.Console.Print("FXR: " + fidelityFx.Enabled.ToString());
+ }
+ // Here you can add code that needs to be called every frame
+ }
+ }
+}