FidelityFX-FSR plugin, initia camera render stuff
This commit is contained in:
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
[submodule "Plugins/FidelityFX-FSR"]
|
||||
path = Plugins/FidelityFX-FSR
|
||||
url = https://github.com/FlaxEngine/FidelityFX-FSR
|
||||
@@ -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"
|
||||
}
|
||||
1
Plugins/FidelityFX-FSR
Submodule
1
Plugins/FidelityFX-FSR
Submodule
Submodule Plugins/FidelityFX-FSR added at 5db14b8bc9
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
75
Source/Game/CameraRender.cs
Normal file
75
Source/Game/CameraRender.cs
Normal file
@@ -0,0 +1,75 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using FlaxEngine;
|
||||
|
||||
namespace Game
|
||||
{
|
||||
/// <summary>
|
||||
/// CameraRender Script.
|
||||
/// </summary>
|
||||
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);
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void OnEnable()
|
||||
{
|
||||
// Here you can add code that needs to be called when script is enabled (eg. register for events)
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
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)
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user