What are ways to render high resolution screenshot from application? Problem is I have to capture screenshot in higher resolution that it is present on screen. Resolution can be higher than 4K so making one big render target isn't option also rendering parts of scene and merging them will have artifacts in effects like SSR or vignette.

Are there any other options to do this?

Rendering is done with classic triangle rasterisation and it have to stay this way.


Screenshots are from game and saved in PNG.

Can't render to higher resolution because no everyone have enough VRAM (it can be higer than 7680x4320)

I use standard Tiled Deferred Rendering with DX11.

  • 1
    $\begingroup$ There's not a lot of information to go on here. What OS are you on? What are you trying to take a screenshot of? What is it going to be output on? What makes you think that it's even possible to take a screenshot at a higher resolution than the screen? Also, you mention rendering in your last sentence. What are you rendering? And how are you rendering it? $\endgroup$ – user1118321 Mar 10 '17 at 3:45
  • $\begingroup$ I guess you could divide your view fustrum into a grid and render it to several separate render targets. Your post processing shaders need to be able to deal with sub sections (say a full screen vignette would have UV coordinate inputs, you would be passing in sub-rectangles of UVs to render sections of it), you should be able to restitch the output textures together without artefacts. $\endgroup$ – PaulHK Mar 10 '17 at 8:34
  • $\begingroup$ @user1118321 I edit post with more details. @PaulHK In your solution screenspace effects like SSR will be broken due to lack information. $\endgroup$ – Derag Mar 10 '17 at 11:49
  • $\begingroup$ What information do your post processing effects require? Do they just need the immediately neighbouring pixels or more distant data? $\endgroup$ – trichoplax Mar 10 '17 at 21:13
  • $\begingroup$ @trichoplax Post processes need information from whole screen (some needs few previous frames but in this case it can be ignored) $\endgroup$ – Derag Mar 11 '17 at 10:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.