Jump to content

  • Log In with Google      Sign In   
  • Create Account


Full screen render targets - how many?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
11 replies to this topic

#1 RobMaddison   Members   -  Reputation: 608

Like
0Likes
Like

Posted 26 February 2013 - 07:28 AM

In your engine, how many full screen render targets do you typically need/use (for things like screen layering, post process effects, etc).

Sponsor:

#2 Hodgman   Moderators   -  Reputation: 24042

Like
1Likes
Like

Posted 26 February 2013 - 07:33 AM

In my last game (forward rendered), at a guess: 1 fullscreen FP16 rgba, 2 fullscreen 8-bit rgba, 2 half-resolution 8-bit rgba, and the 8-bit rgba back-buffer.
[edit] Also a full and half res D24S8.

#3 RobMaddison   Members   -  Reputation: 608

Like
0Likes
Like

Posted 26 February 2013 - 09:08 AM

Thanks. That's along the same lines as I'm thinking. Is that full screen FP16 for a depth pre pass?

#4 CC Ricers   Members   -  Reputation: 623

Like
0Likes
Like

Posted 26 February 2013 - 12:10 PM

Some people prefer to re-use the same render targets as much as possible, and others would use a separate render target for each pass, which would make it easier to debug and do non-destructive changes.


My development blog: Electronic Meteor

#5 RobMaddison   Members   -  Reputation: 608

Like
0Likes
Like

Posted 26 February 2013 - 04:19 PM

Hmm... I've just been playing with my layering and I've got a bit of a flaw. Here's what I do (or at least was planning to do).

Render game scene to render target
Post process render target
Blend render target with back buffer

Render HUD to 'other' render target
Post process render target (if reqd)
Blend render target with back buffer

And so on...

So when I render my scene to each render target, I clear it first (depth and colour), with 0,0,0,0 (so effectively transparent - I hope).

And my 'blend render target with back buffer shader' simply renders to the back buffer surface using:

BlendOp=ADD;
SrcBlend=SRCALPHA;
DestBlend=INVSRCALPHA;
AlphaBlendEnable=TRUE;

The problem is, this doesn't work properly. If I set the pixel output's alpha component to 0.5f in the blend shader, it kind of works but as you can imagine the game scene is half brightness as is the HUD scene.

I'm pretty sure I've missed something here - any ideas?

#6 Promit   Moderators   -  Reputation: 4673

Like
0Likes
Like

Posted 26 February 2013 - 07:53 PM

Last time around, 4x FP32 for deferred shading and the final resolve. This time, 3xFP16 for light prepass, 2xFP16 for HDR post processing, 1x RGBA8 for LDR post processing, and then the final framebuffer. I'm in the camp of keeping things separate throughout stages, but memory isn't a concern for us.



#7 Chris_F   Members   -  Reputation: 1658

Like
0Likes
Like

Posted 26 February 2013 - 07:58 PM

but memory isn't a concern for us

 

Really? How'd you manage that?



#8 Promit   Moderators   -  Reputation: 4673

Like
0Likes
Like

Posted 26 February 2013 - 08:14 PM

but memory isn't a concern for us

 

Really? How'd you manage that?

Current project's a custom installation and the min spec is GTX 690 or Titan cards in SLI. It's a nice way to work.


Edited by Promit, 26 February 2013 - 08:15 PM.


#9 Tasche   Members   -  Reputation: 218

Like
0Likes
Like

Posted 27 February 2013 - 02:09 AM

very interesting thread...

 

gbuffer:

1 FP32 rgba bit (will probably be dropped once i reconstruct position from depth)

2 FP8 rgba

 

bloom:

1 halfsize FP8 rgb

 

distortion:

1FP8 rg

 

shadowmap:

1 2048x2048 FP8 r

 

light accumulation:

1 FP8 rgb

 

i guess im being very wasteful with memory, but optimizimg should be the last step of the process right? =)



#10 RobMaddison   Members   -  Reputation: 608

Like
0Likes
Like

Posted 27 February 2013 - 04:26 AM

1 halfsize FP8 rgb


How do you do bloom with only one render target? Eg, do you only use one for your blur pass?

#11 Ashaman73   Crossbones+   -  Reputation: 5846

Like
0Likes
Like

Posted 27 February 2013 - 04:31 AM

Beside D24S8 and 2k shadow map, only 4xFP16  rendertargets (fullscreen and some half res, user have the option to change this) and the option to separate the screenresolution from render resolution (you can use a screenresolution of 1920x1080, good for the gui, and a render resolution of 1280x720 to improve preformance).



#12 Tasche   Members   -  Reputation: 218

Like
0Likes
Like

Posted 02 March 2013 - 10:56 AM

1 halfsize FP8 rgb


How do you do bloom with only one render target? Eg, do you only use one for your blur pass?

nope, of course i got a bunch of smaller targets... but they are, well, smaller^^. didn't think quarter size was worth mentioning






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS