Browse Source

Implemented a few more things that are new in FSR 2.2

mac-autoexp
Nico de Poel 3 years ago
parent
commit
3dba9d1fa4
  1. 8
      Assets/Scripts/Fsr2.cs
  2. 13
      Assets/Scripts/Fsr2Callbacks.cs
  3. 12
      Assets/Scripts/Fsr2Context.cs

8
Assets/Scripts/Fsr2.cs

@ -28,6 +28,13 @@ namespace FidelityFX
EnableAutoExposure = 1 << 5, EnableAutoExposure = 1 << 5,
EnableDynamicResolution = 1 << 6, EnableDynamicResolution = 1 << 6,
EnableTexture1DUsage = 1 << 7, EnableTexture1DUsage = 1 << 7,
EnableDebugChecking = 1 << 8,
}
public enum MessageType
{
Error = 0,
Warning = 1,
} }
public struct ContextDescription public struct ContextDescription
@ -57,6 +64,7 @@ namespace FidelityFX
public float CameraNear; public float CameraNear;
public float CameraFar; public float CameraFar;
public float CameraFovAngleVertical; public float CameraFovAngleVertical;
public float ViewSpaceToMetersFactor;
} }
/// <summary> /// <summary>

13
Assets/Scripts/Fsr2Callbacks.cs

@ -4,6 +4,19 @@ namespace FidelityFX
{ {
public class Fsr2Callbacks public class Fsr2Callbacks
{ {
public virtual void Message(Fsr2.MessageType type, string message)
{
switch (type)
{
case Fsr2.MessageType.Warning:
Debug.LogWarning(message);
break;
case Fsr2.MessageType.Error:
Debug.LogError(message);
break;
}
}
public virtual Shader LoadShader(string name) public virtual Shader LoadShader(string name)
{ {
return Resources.Load<Shader>(name); return Resources.Load<Shader>(name);

12
Assets/Scripts/Fsr2Context.cs

@ -28,6 +28,9 @@ namespace FidelityFX
private ComputeBuffer _rcasConstantsBuffer; private ComputeBuffer _rcasConstantsBuffer;
private readonly RcasConstants[] _rcasConstantsArray = new RcasConstants[1]; private readonly RcasConstants[] _rcasConstantsArray = new RcasConstants[1];
private ComputeBuffer _generateReactiveConstantsBuffer;
private readonly GenerateReactiveConstants[] _generateReactiveConstantsArray = { new GenerateReactiveConstants() };
public void Create(Fsr2.ContextDescription contextDescription) public void Create(Fsr2.ContextDescription contextDescription)
{ {
_contextDescription = contextDescription; _contextDescription = contextDescription;
@ -152,6 +155,15 @@ namespace FidelityFX
public uint workGroupOffsetX, workGroupOffsetY; public uint workGroupOffsetX, workGroupOffsetY;
public uint renderSizeX, renderSizeY; public uint renderSizeX, renderSizeY;
} }
[Serializable, StructLayout(LayoutKind.Sequential)]
private struct GenerateReactiveConstants
{
public float scale;
public float threshold;
public float binaryValue;
public uint flags;
}
[Serializable, StructLayout(LayoutKind.Sequential)] [Serializable, StructLayout(LayoutKind.Sequential)]
private struct RcasConstants private struct RcasConstants

Loading…
Cancel
Save