Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

5
  • 1
    $\begingroup$ "look like compression artifacts" Note that the OP says (in comments) that he's uploading uncompressed data and telling OpenGL to compress it with BPTC. That's... generally not wise if you care about the quality of the output of that process. $\endgroup$ Commented Jan 16, 2023 at 20:34
  • $\begingroup$ Thank you very much @Kevin Reid and Nicol Bolas. I am sure Kevin is right, that these are compression artifacts. Nicol's suggestion to use an offline tool is very helpful. Evidently this Nvidia GPU does a better job of compressing than does ether of these Intel ones, but offline is clearly a better idea than hoping that the GPU is nice. $\endgroup$ Commented Jan 16, 2023 at 21:00
  • $\begingroup$ Regarding the equatorial gradient: Strangely the Nvidia GPU did eventually smooth it, when I increased the number of MSAA samples to 16, 32 or 64. Even at 16 (the maximum it could handle) the Intel GPU continued not to smooth those gradients, agreeing with Kevin. I checked the Blinn-Phong specular highlight maths and found that the specular contribution does indeed have a discontinuity (from strictly positive to zero) where the light "sinks below the horizon" of the triangle. Large specular exponents reduce the gap to practically 0, but low ones leave it noticeable. $\endgroup$ Commented Jan 16, 2023 at 21:03
  • $\begingroup$ Strangely (to me) I noticed that commenting out the line glEnable(GL_MULTISAMPLE); seemed not to make any difference ! Perhaps that is a legacy thing, that doesn't affect off-screen multisampled framebuffers... $\endgroup$ Commented Jan 16, 2023 at 21:11
  • $\begingroup$ Actually I have just remembered from Joey de Vries' learnopengl.com, that he says that GL_MULTISAMPLE is usually enabled by default these days. That would answer my previous comment. $\endgroup$ Commented Jan 16, 2023 at 23:11