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

13
Assets/Scripts/Fsr2Callbacks.cs

@ -4,6 +4,19 @@ namespace FidelityFX
{
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)
{
return Resources.Load<Shader>(name);

12
Assets/Scripts/Fsr2Context.cs

@ -28,6 +28,9 @@ namespace FidelityFX
private ComputeBuffer _rcasConstantsBuffer;
private readonly RcasConstants[] _rcasConstantsArray = new RcasConstants[1];
private ComputeBuffer _generateReactiveConstantsBuffer;
private readonly GenerateReactiveConstants[] _generateReactiveConstantsArray = { new GenerateReactiveConstants() };
public void Create(Fsr2.ContextDescription contextDescription)
{
_contextDescription = contextDescription;
@ -152,6 +155,15 @@ namespace FidelityFX
public uint workGroupOffsetX, workGroupOffsetY;
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)]
private struct RcasConstants

Loading…
Cancel
Save