[No, but PR's are welcome] Motion Blur?

Moderator: Developers

Re: Motion Blur?

Postby Enjay » Mon Nov 19, 2018 4:11 pm

To be fair, to correctly simulate rapid movement of the head, we don't need motion blur. We need GZDoom to somehow alter the player's perception of movement so that they momentarily lose the ability to see and register the game view and then pick up again from the new viewpoint without particularly realising that this trickery had happened. That's what your brain does in real-life so we need this to be "teh realistic".

https://en.wikipedia.org/wiki/Saccadic_masking

:P
User avatar
Enjay
Everyone is a moon, and has a dark side which he never shows to anybody. Twain
 
 
 
Joined: 15 Jul 2003
Location: Scotland

Re: Motion Blur?

Postby dpJudas » Mon Nov 19, 2018 4:25 pm

Note that I said aliasing, not "realism" or "simulating a camera or real eyes". Of course, motion blur can ALSO be used for "artistic" effects of the sort you're describing. :)
dpJudas
 
 
 
Joined: 28 May 2016

Re: Motion Blur?

Postby Enjay » Mon Nov 19, 2018 4:42 pm

True, I was just making the point (albeit obliquely) that these features (motion blur, screen splashes, flares, etc.) are often touted as "realistic".
User avatar
Enjay
Everyone is a moon, and has a dark side which he never shows to anybody. Twain
 
 
 
Joined: 15 Jul 2003
Location: Scotland

Re: Motion Blur?

Postby sinaptica » Mon Nov 19, 2018 4:49 pm

dpJudas wrote:Motion blur is different than those other effects in the sense that it is trying to fix a specific aliasing problem. As Nash already described, it helps a lot at lower frame rates. Even at higher ones it does make the movement feel more smooth, but it comes with the price of a less crisp scene.


Fair enough. Also blur occurs in normal human vision, but it has nothing to do with the fake, extreme, blur generally seen in video games.

What I usually see is image post processing that does not take in account depth or the speed of moving objects (only camera movement).
Things closer to the spectator should blur more than things far from it, be it because you moved your head (this is what today games try to implement) or because the object is moving fast.

I don't have a clue of graphics programming, so please correct me if I'm wrong... But, to my understanding, motion blur of that quality can only be synthesised from a 'source' that has a higher frame rate than the 'output'.

I don't know. I'm not saying it can't be done right, but what I have seen before has given me headaches. :blergh:
User avatar
sinaptica
 
Joined: 31 Jan 2017

Re: Motion Blur?

Postby dpJudas » Mon Nov 19, 2018 5:08 pm

The oldest and most primitive motion blurs just mixed two frames (current and previous rendered). The higher speed you were moving the more it mixed in the previous frame.

Newer and more advanced motion blur algorithms uses both the depth buffer as well as motion vectors for each pixel. In those the stuff further away will blur less and things moving same way as the camera will too.

You are right that true exact motion blur can only be done by rendering lets say 10 frames (the more the better) and average the result.

Of course I don't doubt that most implementations probably exaggerate the effect to make it more visible. That's where the "artistic" part of it all enters the picture. But originally the point was to make all movement feel more fluent, as if you had a much higher frame rate than you really do.
dpJudas
 
 
 
Joined: 28 May 2016

Re: Motion Blur?

Postby sinaptica » Mon Nov 19, 2018 5:27 pm

dpJudas wrote:Newer and more advanced motion blur algorithms uses both the depth buffer as well as motion vectors for each pixel. In those the stuff further away will blur less and things moving same way as the camera will too.

You are right that true exact motion blur can only be done by rendering lets say 10 frames (the more the better) and average the result.


Thanks for clarifying. Now that you mention it, there's a way to post process renders in blender using that technique.
The results are not nearly as good as rendering several samples per frame, but it's way faster.

dpJudas wrote:Of course I don't doubt that most implementations probably exaggerate the effect to make it more visible. That's where the "artistic" part of it all enters the picture. But originally the point was to make all movement feel more fluent, as if you had a much higher frame rate than you really do.


All I can say then is my visual cortex is in serious disagreement with the artistic vision of the vast majority of developers. :trippy:
User avatar
sinaptica
 
Joined: 31 Jan 2017

Re: Motion Blur?

Postby Chris » Mon Nov 19, 2018 10:05 pm

sinaptica wrote:I cannot for the life of me understand the fixation some FPS game developers have to introduce these kind of effects (lens flares, liquids splashing into a transparent planar surface in front of the character, motion blur, etc...) into what's supposed to be the character's viewpoint.

For me, it's because I'm looking at a screen/monitor. Even if I'm totally immersed in the game, my brain is expecting the kinds of effects that are produced by a camera to view on a screen (bloom, lens flares, etc). There's certainly something to say about the effects' quality and subtlety, but if it's completely absent the scene looks flat to me. I'd presume my expectations would be different with a VR headset, where it's not supposed to be like looking at a fixed screen. But with a screen, it just feels more natural to me to see screen-related effects, even if the viewpoint is supposed to be through a character's eyes.
User avatar
Chris
 
Joined: 17 Jul 2003

Re: Motion Blur?

Postby Nash » Tue Nov 20, 2018 12:07 am

^ I'm with Chris on all points :) I enjoy post processing as a production technique in video games, when they are done right/subtly.

It's the same like, for example, enjoying certain special effects (visual or audio) in movies that make absolutely zero sense in real life. But without those effects, the movie just doesn't have the same impact.
User avatar
Nash
Nash Muhandes
 
 
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia

Re: Motion Blur?

Postby Rachael » Tue Nov 20, 2018 1:25 am

As a side project I might try to take a crack at coding this strictly as a "intra-frame blending" project, to allow mixing multiple renders in a single frame to give the illusion of having a higher effective framerate than your monitor supports.

But the success of that project really depends on whether the monitor's refresh state is available to OpenGL or not.
User avatar
Rachael
QZDoom + Webmaster
 
Joined: 13 Jan 2004

Re: Motion Blur?

Postby Pixel Eater » Tue Nov 20, 2018 2:08 am

Ooh if you can do that- is it possible to make every other frame dark to actually reduce motion blur as well? I tried that once but the flickering continued outside of GZDoom for a scary period. It's actually what Screem was supposed to be :lol:
User avatar
Pixel Eater
I sense evil I fear it here today, Like a bad dream that never goes away -MBerry
 
 
 
Joined: 02 Aug 2017
Location: In between the Moon and you, between the buried and me.

Re: Motion Blur?

Postby Caligari87 » Tue Dec 11, 2018 9:27 am

Bumping because I think this is really a viable feature that could add a lot in certain situations. Recently I realized my monitor is only 60hz, meaning that even though I can push 1000+ FPS in GZDoom at my preferred graphical settings, it still looks unacceptably "choppy" (up until a week ago I thought this was due to my old graphics card). I'm of the opinion that simple frame accumulation motion blur would be a godsend for this situation, as there's literally 10x my monitor refresh rate which could be used to temporally smooth the experience instead of going to waste.

This kind of motion blur is the most physically realistic model at these framerates. Very simply, the previous final framebuffer is rendered on top of the current frame at some opacity (the opacity level determines the intensity of the effect). It's a cheap operation and only the previous blended framebuffer is needed.

Here's a few youtube videos showing off the effect injected into Halo and Doom64EX (running at 300-500 fps). Note the spark particles in the second video, and the arachnotron's plasma shots in the third video.
Spoiler:


Of course there's the caveat that this only looks good for high framerates beyond the refresh rate of the monitor, and that's the use case I'd like to be considered for this feature request. For masking of low framerates, something like Pixel Eater's angular motion blur shader would be more appropriate.

8-)
User avatar
Caligari87
I'm just here for the community
User Accounts Assistant
 
Joined: 26 Feb 2004
Location: Salt Lake City, Utah, USA
Discord: Caligari87#3089

Re: Motion Blur?

Postby Graf Zahl » Tue Dec 11, 2018 9:33 am

Viable or not, my tag still states what is needed here. Find someone willing to code it and we may be in business.
User avatar
Graf Zahl
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: Motion Blur?

Postby Get Phobo » Tue Dec 11, 2018 9:34 am

Caligari87 wrote:... as there's literally 10x my monitor refresh rate which could be used to temporally smooth the experience instead of going to waste.
You might want to check out NVidia's Fast Sync option if your hardware supports this. (Another question would be if GZDoom supports this. It does work with Adaptive Sync very well, anyway.)
User avatar
Get Phobo
 
Joined: 07 Sep 2018

Re: Motion Blur?

Postby Caligari87 » Tue Dec 11, 2018 10:09 am

Interestingly enough, it does, and I was not aware. I'll give that a shot when I'm home.

8-)
User avatar
Caligari87
I'm just here for the community
User Accounts Assistant
 
Joined: 26 Feb 2004
Location: Salt Lake City, Utah, USA
Discord: Caligari87#3089

Previous

Return to Closed Feature Suggestions

Who is online

Users browsing this forum: No registered users and 2 guests