Skip to content

FSR中计算HitMin*、HitMax*似乎存在错误 #14

Open

Description

@YaelLee

https://github.com/AngelMonica126/GraphicAlgorithm/blob/58877e6a8dba75ab171b0d89260defaffa22d047/027_FidelityFX%20Super%20Resolution/RCASPass_CS.glsl#L58C2-L60C51

在您的代码中,是使用Min4R和Max4R来计算HitMinR / HitMaxR的

float HitMinR = Min4R * (1.0f / (4.0f * Max4R));
float HitMinG = Min4G * (1.0f / (4.0f * Max4G));
float HitMinB = Min4B * (1.0f / (4.0f * Max4B));
float HitMaxR = (PeakC.x - Max4R) * (1.0f / (4.0f * Min4R + PeakC.y));
float HitMaxG = (PeakC.x - Max4G) * (1.0f / (4.0f * Min4G + PeakC.y));
float HitMaxB = (PeakC.x - Max4B) * (1.0f / (4.0f * Min4B + PeakC.y));

但是FSR的源码中,是
image

缺少了再次和中心点e计算min和max的步骤,正确应该是

float HitMinR = min(Min4R, e.r) * (1.0f / (4.0f * Max4R));
//...
float HitMaxR = (PeakC.x - max(Max4R, e.r)) * (1.0f / (4.0f * Min4R + PeakC.y));
//...

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions