Browse Source

Renamed max render size field to be consistent with PPV2 integration

master
Nico de Poel 3 years ago
parent
commit
cf04a0ea7b
  1. 20
      Assets/Scripts/Fsr2ImageEffect.cs

20
Assets/Scripts/Fsr2ImageEffect.cs

@ -103,7 +103,7 @@ namespace FidelityFX
public RenderTexture outputMotionVectors;
private Fsr2Context _context;
private Vector2Int _renderSize;
private Vector2Int _maxRenderSize;
private Vector2Int _displaySize;
private float _appliedBiasOffset;
private bool _resetHistory;
@ -139,8 +139,8 @@ namespace FidelityFX
// Determine the desired rendering and display resolutions
_displaySize = GetDisplaySize();
Fsr2.GetRenderResolutionFromQualityMode(out var renderWidth, out var renderHeight, _displaySize.x, _displaySize.y, qualityMode);
_renderSize = new Vector2Int(renderWidth, renderHeight);
Fsr2.GetRenderResolutionFromQualityMode(out var maxRenderWidth, out var maxRenderHeight, _displaySize.x, _displaySize.y, qualityMode);
_maxRenderSize = new Vector2Int(maxRenderWidth, maxRenderHeight);
if (!SystemInfo.supportsComputeShaders)
{
@ -149,9 +149,9 @@ namespace FidelityFX
return;
}
if (_renderSize.x == 0 || _renderSize.y == 0)
if (_maxRenderSize.x == 0 || _maxRenderSize.y == 0)
{
Debug.LogError($"FSR2 render size is invalid: {_renderSize.x}x{_renderSize.y}. Please check your screen resolution and camera viewport parameters.");
Debug.LogError($"FSR2 render size is invalid: {_maxRenderSize.x}x{_maxRenderSize.y}. Please check your screen resolution and camera viewport parameters.");
enabled = false;
return;
}
@ -188,7 +188,7 @@ namespace FidelityFX
if (enableAutoExposure) flags |= Fsr2.InitializationFlags.EnableAutoExposure;
if (UsingDynamicResolution()) flags |= Fsr2.InitializationFlags.EnableDynamicResolution;
_context = Fsr2.CreateContext(_displaySize, _renderSize, Callbacks, flags);
_context = Fsr2.CreateContext(_displaySize, _maxRenderSize, Callbacks, flags);
_prevDisplaySize = _displaySize;
_prevQualityMode = qualityMode;
@ -234,7 +234,7 @@ namespace FidelityFX
private void ApplyMipmapBias()
{
// Apply a mipmap bias so that textures retain their sharpness
float biasOffset = Fsr2.GetMipmapBiasOffset(_renderSize.x, _displaySize.x);
float biasOffset = Fsr2.GetMipmapBiasOffset(_maxRenderSize.x, _displaySize.x);
if (!float.IsNaN(biasOffset) && !float.IsInfinity(biasOffset))
{
Callbacks.ApplyMipmapBias(biasOffset);
@ -286,7 +286,7 @@ namespace FidelityFX
{
// Render to a smaller portion of the screen by manipulating the camera's viewport rect
_renderCamera.aspect = (_displaySize.x * _originalRect.width) / (_displaySize.y * _originalRect.height);
_renderCamera.rect = new Rect(0, 0, _originalRect.width * _renderSize.x / _renderCamera.pixelWidth, _originalRect.height * _renderSize.y / _renderCamera.pixelHeight);
_renderCamera.rect = new Rect(0, 0, _originalRect.width * _maxRenderSize.x / _renderCamera.pixelWidth, _originalRect.height * _maxRenderSize.y / _renderCamera.pixelHeight);
}
// Set up the opaque-only command buffer to make a copy of the camera color buffer right before transparent drawing starts
@ -472,9 +472,9 @@ namespace FidelityFX
private Vector2Int GetScaledRenderSize()
{
if (UsingDynamicResolution())
return new Vector2Int(Mathf.CeilToInt(_renderSize.x * ScalableBufferManager.widthScaleFactor), Mathf.CeilToInt(_renderSize.y * ScalableBufferManager.heightScaleFactor));
return new Vector2Int(Mathf.CeilToInt(_maxRenderSize.x * ScalableBufferManager.widthScaleFactor), Mathf.CeilToInt(_maxRenderSize.y * ScalableBufferManager.heightScaleFactor));
return _renderSize;
return _maxRenderSize;
}
}
}
Loading…
Cancel
Save