{"action":"created","issue":{"url":"https://api.github.com/repos/highfidelity/hifi/issues/12861","repository_url":"https://api.github.com/repos/highfidelity/hifi","labels_url":"https://api.github.com/repos/highfidelity/hifi/issues/12861/labels{/name}","comments_url":"https://api.github.com/repos/highfidelity/hifi/issues/12861/comments","events_url":"https://api.github.com/repos/highfidelity/hifi/issues/12861/events","html_url":"https://github.com/highfidelity/hifi/pull/12861","id":313244589,"number":12861,"title":"Bloom and Temporal Anti-Aliasing improvements","user":{"login":"Zvork","id":14199381,"avatar_url":"https://avatars3.githubusercontent.com/u/14199381?v=4","gravatar_id":"","url":"https://api.github.com/users/Zvork","html_url":"https://github.com/Zvork","followers_url":"https://api.github.com/users/Zvork/followers","following_url":"https://api.github.com/users/Zvork/following{/other_user}","gists_url":"https://api.github.com/users/Zvork/gists{/gist_id}","starred_url":"https://api.github.com/users/Zvork/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Zvork/subscriptions","organizations_url":"https://api.github.com/users/Zvork/orgs","repos_url":"https://api.github.com/users/Zvork/repos","events_url":"https://api.github.com/users/Zvork/events{/privacy}","received_events_url":"https://api.github.com/users/Zvork/received_events","type":"User","site_admin":false},"labels":[{"id":675876856,"url":"https://api.github.com/repos/highfidelity/hifi/labels/Engine","name":"Engine","color":"A2277C","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2018-04-11T09:32:34Z","updated_at":"2018-04-17T15:05:53Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/highfidelity/hifi/pulls/12861","html_url":"https://github.com/highfidelity/hifi/pull/12861","diff_url":"https://github.com/highfidelity/hifi/pull/12861.diff","patch_url":"https://github.com/highfidelity/hifi/pull/12861.patch"},"body":"This PR improves on both the temporal antialiasing and bloom effects by modifying the sequencing of a number of rendering passes:\r\n- The TAA (antialiasing) pass is moved before the Bloom to stabilize high color intensity pixels and thus drastically reduce the bloom flickering. Bloom is now temporarily stable and thus perfectly usable (IMHO) in HMD mode.\r\n- The in-front overlay rendering pass has been moved before the TAA pass so in-front overlays benefit from some anti-aliasing. This is not totally perfect as these in-front overlays, like transparent objects, do not update the velocity buffer (yet). The side effect is that in-front overlays potentially participate in the bloom effect if they have particularly high intensity pixels.\r\n- The highlight pass has also been moved before the TAA / Bloom passes so as to be still before the in-front overlays. The nice side effect is that highlights are now also anti-aliased but they are also potentially \"bloomed\", although this is hardly noticeable.\r\n\r\n# TAA technical update (for the graphics geeks out there)\r\nThe TAA pass performs antialising on a tonemapped version of the rendering. As the bloom, which is the following pass, should be applied to a non-tonemapped HDR image, the antialiasing shader performs a \"on the fly\" rapid tonemap when reading color values followed by a rapid inverse tone map when writing back the antialiased result.\r\nAlso, the texture fetches for the GBuffer material (albedo, normal, metal, roughness, etc...) have now a fixed LOD bias to force fetching of a lower (higher resolution) mip level. Since TAA performs some kind of super sampling (and thus texture filtering), this is used to try to extract some more resolution during rendering.\r\n\r\n# Test plan\r\nAs the order of a number of rendering passes have been changed, this PR should be thoroughly tested on all platforms and devices, especially on HMD and both NVidia and AMD GPUs.\r\nAutomatic test plans pertaining to this PR are:\r\n- The TAA test plan proposed in [hifi_tests PR #70](https://github.com/highfidelity/hifi_tests/pull/70)\r\n- The new Bloom test plan proposed in [hifi_tests PR #80](https://github.com/highfidelity/hifi_tests/pull/80)\r\n- The highlight test in [hifi_tests/tests/engine/render/effect/highlight](https://github.com/highfidelity/hifi_tests/tree/master/tests/engine/render/effect/highlight)"},"comment":{"url":"https://api.github.com/repos/highfidelity/hifi/issues/comments/382026956","html_url":"https://github.com/highfidelity/hifi/pull/12861#issuecomment-382026956","issue_url":"https://api.github.com/repos/highfidelity/hifi/issues/12861","id":382026956,"user":{"login":"hifi-gustavo","id":4554450,"avatar_url":"https://avatars0.githubusercontent.com/u/4554450?v=4","gravatar_id":"","url":"https://api.github.com/users/hifi-gustavo","html_url":"https://github.com/hifi-gustavo","followers_url":"https://api.github.com/users/hifi-gustavo/followers","following_url":"https://api.github.com/users/hifi-gustavo/following{/other_user}","gists_url":"https://api.github.com/users/hifi-gustavo/gists{/gist_id}","starred_url":"https://api.github.com/users/hifi-gustavo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hifi-gustavo/subscriptions","organizations_url":"https://api.github.com/users/hifi-gustavo/orgs","repos_url":"https://api.github.com/users/hifi-gustavo/repos","events_url":"https://api.github.com/users/hifi-gustavo/events{/privacy}","received_events_url":"https://api.github.com/users/hifi-gustavo/received_events","type":"User","site_admin":false},"created_at":"2018-04-17T15:05:53Z","updated_at":"2018-04-17T15:05:53Z","author_association":"NONE","body":"Mac OS X client-only build is available at: https://deployment.highfidelity.com/jobs/pr-build/label%3Dmacos/8851/HighFidelity-Beta-Interface-PR12861-0800c5eeb9e2820582823b627f222dd37dfe410c.dmg"}}
{"actor":{"display_login":"hifi-gustavo"}}