The inconsistent sampling frequency and signal change of the specular BRDF in PBR often leads to specular aliasing, which is very common in JME3. You can import a PBR model with obvious highlights. When rotating the view or moving away, you will find a series of discrete highlight points.
The solution is to apply highlight anti-aliasing for the specular term, which has become a mainstream practice. Below is Unity’s explanation of it and relevant papers:
https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@15.0/manual/Geometric-Specular-Anti-Aliasing.html
I have implemented the method mentioned in the aforementioned paper on JME(Especially when I was testing global illumination recently, the highlight aliasing became more obvious.), currently, it looks like effective highlight anti-aliasing has been applied to the specular term. When moving the camera and zooming out, there are no more obvious discrete highlight points. I wonder if I should allow this part to be included as part of PBRLighting? (with very minimal code changes)
disable SpecularAA:
enable SpecularAA:
disable SpecularAA:
enable SpecularAA: