Jump to content

View more

Image of the Day

Trying out some of Pickle Jar compositions in @SketchUp and Unity, for a late #screenshotsaturday #gamedev https://t.co/HU0kZAnQtD
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net's newsletters to receive the latest updates and exclusive content.


Sign up now

Velocity buffer without GBuffer pass ?

2: Adsense

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
8 replies to this topic

#1 lipsryme   Members   

1518
Like
0Likes
Like

Posted 28 January 2013 - 10:15 AM

I've currently got my object motion blur in my deferred renderer by calculating a velocity vector during the forward Gbuffer pass.
Now after reading through some recent papers like the cryengine3 or unreal engine 4 one's I noticed they don't ever have velocity stored in their gbuffer. I highly doubt that they don't use one so how do they do it, if not during their gbuffer pass ?

Edited by lipsryme, 28 January 2013 - 10:16 AM.


#2 Kryzon   Prime Members   

4564
Like
0Likes
Like

Posted 28 January 2013 - 11:15 AM

I don't know if this is what you're referring to, but they do seem to build a vel. buffer for camera and objects (slide 42 please): http://www.slideshare.net/TiagoAlexSousa/secrets-of-cryengine-3-graphics-technology



#3 lipsryme   Members   

1518
Like
0Likes
Like

Posted 28 January 2013 - 11:20 AM

Yes that's exactly what I'm referring to, because I know that they have one but they don't seem to store this during their GBuffer pass.
I guess since they're using a light-pre-pass design they might do that at the second geometry pass but they don't mention that anywhere.
Also here on page 29 http://www.unrealengine.com/files/misc/The_Technology_Behind_the_Elemental_Demo_16x9_(2).pdfthey show their gbuffer layout which also does not feature velocity, same thing happening with frostbite 2


Edited by lipsryme, 28 January 2013 - 11:24 AM.


#4 Krypt0n   Members   

4655
Like
2Likes
Like

Posted 28 January 2013 - 12:08 PM

you simply use the depthbuffer from the gbuffer-pass to generate a velocity buffer for all static elements, afterwards you render those few moving objects on top.



#5 lipsryme   Members   

1518
Like
0Likes
Like

Posted 28 January 2013 - 01:19 PM

I see, so that means I'd have to sort objects between static and dynamic, right ?



#6 Krypt0n   Members   

4655
Like
0Likes
Like

Posted 29 January 2013 - 05:02 AM

well, there are not really any obvious alternatives to that, I'd say. (btw. you don't want to seperate dynamic/static, but moving vs none-moving objects. dynamic objects that don't move, might also not need to be rendered).



#7 Hodgman   Moderators   

50344
Like
0Likes
Like

Posted 29 January 2013 - 05:38 AM

From what I remember (which may be incorrect), everything in crysis is treated as a non-moving object as far as motion-blur is concerned except for the first-person gun model.

So besides the gun, everything gets its velocity vector from just depth + two view-proj matrices, while the gun renders out velocity vectors to a g-buffer.



#8 Krypt0n   Members   

4655
Like
2Likes
Like

Posted 29 January 2013 - 07:26 AM

http://mycryengine.com/index.php?conid=8

 

"Motion blur can be applied both to individual objects (object-based motion blur) and to an entire scene (screen-based motion blur)," :)

 

not a good pic, but I think you can see object motion blur on the moving alien

http://www.abload.de/img/vlcsnap-2012-04-24-236zrdg.png

 

so I think it's the other way around. there is really object motion blur on moving objects, but the first person weapon has no motion blur, as it's bound to your head, if it would start to blur while moving, it would rather look like you're on drugs than a directional blur due to motion.



#9 lipsryme   Members   

1518
Like
0Likes
Like

Posted 29 January 2013 - 08:06 AM

I see, thanks a lot.






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.