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的源码中,是 <img width="550" alt="image" src="https://github.com/AngelMonica126/GraphicAlgorithm/assets/118888770/4fdfa26b-8585-428f-b759-4678235e5a6c"> 缺少了**再次和中心点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