{"action":"created","issue":{"url":"https://api.github.com/repos/PCSX2/pcsx2/issues/635","labels_url":"https://api.github.com/repos/PCSX2/pcsx2/issues/635/labels{/name}","comments_url":"https://api.github.com/repos/PCSX2/pcsx2/issues/635/comments","events_url":"https://api.github.com/repos/PCSX2/pcsx2/issues/635/events","html_url":"https://github.com/PCSX2/pcsx2/issues/635","id":93127556,"number":635,"title":"Hardware Antialiasing: MSAA and SSAA for OpenGL?","user":{"login":"ADormant","id":10523326,"avatar_url":"https://avatars.githubusercontent.com/u/10523326?v=3","gravatar_id":"","url":"https://api.github.com/users/ADormant","html_url":"https://github.com/ADormant","followers_url":"https://api.github.com/users/ADormant/followers","following_url":"https://api.github.com/users/ADormant/following{/other_user}","gists_url":"https://api.github.com/users/ADormant/gists{/gist_id}","starred_url":"https://api.github.com/users/ADormant/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ADormant/subscriptions","organizations_url":"https://api.github.com/users/ADormant/orgs","repos_url":"https://api.github.com/users/ADormant/repos","events_url":"https://api.github.com/users/ADormant/events{/privacy}","received_events_url":"https://api.github.com/users/ADormant/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/PCSX2/pcsx2/labels/Enhancement","name":"Enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/PCSX2/pcsx2/labels/Low%20Priority","name":"Low Priority","color":"bfdadc"},{"url":"https://api.github.com/repos/PCSX2/pcsx2/labels/Plugin:%20GSdx","name":"Plugin: GSdx","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-07-05T17:19:09Z","updated_at":"2015-08-24T13:34:34Z","closed_at":null,"body":"I noticed that the D3D backend has MSAA but the OpenGL backend is missing it. Could it be implemented? Maybe even SSAA too, Dolphin can do SSAA with OpenGL.\r\nhttps://www.opengl.org/registry/specs/ARB/sample_shading.txt"},"comment":{"url":"https://api.github.com/repos/PCSX2/pcsx2/issues/comments/134202447","html_url":"https://github.com/PCSX2/pcsx2/issues/635#issuecomment-134202447","issue_url":"https://api.github.com/repos/PCSX2/pcsx2/issues/635","id":134202447,"user":{"login":"gregory38","id":1569559,"avatar_url":"https://avatars.githubusercontent.com/u/1569559?v=3","gravatar_id":"","url":"https://api.github.com/users/gregory38","html_url":"https://github.com/gregory38","followers_url":"https://api.github.com/users/gregory38/followers","following_url":"https://api.github.com/users/gregory38/following{/other_user}","gists_url":"https://api.github.com/users/gregory38/gists{/gist_id}","starred_url":"https://api.github.com/users/gregory38/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gregory38/subscriptions","organizations_url":"https://api.github.com/users/gregory38/orgs","repos_url":"https://api.github.com/users/gregory38/repos","events_url":"https://api.github.com/users/gregory38/events{/privacy}","received_events_url":"https://api.github.com/users/gregory38/received_events","type":"User","site_admin":false},"created_at":"2015-08-24T13:34:34Z","updated_at":"2015-08-24T13:34:34Z","body":"The more AA is powerful, the more glitches will be created. Rendering of the GS depends on the aliasing. However I think FSAA will less suffer from ghosting but I think it would be possible to correct texture coordinate to avoid it.\r\n\r\nThe GL extension allow to easily switch between MSAA or Full SSAA (or partial SSAA). It will work nicely for standard rendering. However how will behave the post-processing effect. Effects are full screen so it impacts lots of pixels.\r\n1/ Apply a blending/bit mask on the color. By fragment or by sample\r\n2/ Conversion of the depth to a color and then move the green channel to the alpha channel. By fragment of by sample?\r\n3/ Conversion of the depth to a color. Apply some blending/color operations. Then convert it back to a depth. By fragment or by sample?\r\n\r\nAn issue with upscaling is that RT is downscaled during the RT and reused as a smaller texture. It breaks the 1:1 mapping of the effect. I think it can be improved to keep higher resolution in the full rendering. MSAA does a down-sampling, I think it would be better to keep all the samples but it would badly hurt the performance.\r\n\r\nThe purpose of MSAA is do the depth test at sample frequency but keep color at fragment frequency. It is a lighter kind of SSAA so you can run it with more X. For example 4x MSAA vs 2x SSAA, my mid-end GPU (GTX760) seems to handle 3x/4x. I'm not sure there is any major difference with a bigger aliasing effects (aka 8x/16x MSAA)."}}