playcanvas / engine

JavaScript game engine built on WebGL, WebGPU, WebXR and glTF
https://playcanvas.com
MIT License
9.6k stars 1.34k forks source link

Implement progressive multi-frame rendering #3361

Open mvaligursky opened 3 years ago

mvaligursky commented 3 years ago

The algorithm is described in GPU Pro 7, chapter 3.1

Screenshot 2021-07-23 at 13 52 47

It allows for image quality to improve when the camera is static (and the scene is not animated) by accumulation of slightly shifted frames. This generates high quality antialiasing (TAA), and can also be used to generate soft shadows. All this without requiring (many) additional resources.

Additionally, we could possibly add support for progressive scaling here .. rendering the scene in lower resolution when the camera moves to keep the performance higher, and use full resolution when the camera stops.

mvaligursky commented 3 years ago

additional relevant links: https://hpi.de/doellner/publications.html?tx_extbibsonomycsl_publicationlist%5Bcontroller%5D=Document&tx_extbibsonomycsl_publicationlist%5BfileName%5D=08-0022-limberger.pdf&tx_extbibsonomycsl_publicationlist%5BintraHash%5D=1f75864af25ed4bb218cc636619ffe45&tx_extbibsonomycsl_publicationlist%5BuserName%5D=jan.klimke&cHash=7046e2af99b3af0768dd42f80831fdb7

https://github.com/AndrewSaraev/STAA

figo2264 commented 2 years ago

Just wonder when this feature is going to be added.

mvaligursky commented 2 years ago

There are no immediate plans to work on it, unless somebody wants to help.

yaustar commented 2 years ago

No short term plans from our team unfortunately. I've added the tag 'good first PR' so if anyone would like to help and contribute, they should be able to find this ticket more easily :)

figo2264 commented 2 years ago

I believe this is quite important issue for most of users who is using Playcanvas as industrial purpose. Hope it will be added soon. 🙂

[cid:fbf25413-1d9c-4227-be80-153dd2211b40] Technical Director

Sooyong Kim | Luis Kim

CP: 82-10-6763-5205 Office: 82-70-8622-5160 Fax: 82-70-8622-5161 E-mail: @.***

Creative Design Production Studio | TEMEPST http://www.tmpst.co.kr/http://www.tmpst.co.krhttp://www.tmpst.co.kr/


From: Steven @.> Sent: Friday, February 25, 2022 17:42 To: playcanvas/engine @.> Cc: Kim sooyong @.>; Comment @.> Subject: Re: [playcanvas/engine] Implement progressive multi-frame rendering (#3361)

No short term plans from our team unfortunately. I've added the tag 'good first PR' so if anyone would like to help and contribute, they should be able to find this ticket more easily :)

— Reply to this email directly, view it on GitHubhttps://github.com/playcanvas/engine/issues/3361#issuecomment-1050649675, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADFZ7ATI6XBM6YAQS33WH7TU446GPANCNFSM5A3635LA. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you commented.Message ID: @.***>

yaustar commented 2 years ago

It would be great to have the work that was done for the Model Viewer rendering as a drop in Editor script

image