Motion Blur?

Moderator: GZDoom Developers

User avatar
Enjay
 
 
Posts: 26517
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland
Contact:

Re: Motion Blur?

Post by Enjay »

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
dpJudas
 
 
Posts: 3037
Joined: Sat May 28, 2016 1:01 pm

Re: Motion Blur?

Post by dpJudas »

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. :)
User avatar
Enjay
 
 
Posts: 26517
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland
Contact:

Re: Motion Blur?

Post by Enjay »

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
sinaptica
Posts: 19
Joined: Tue Jan 31, 2017 5:41 am

Re: Motion Blur?

Post by sinaptica »

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:
dpJudas
 
 
Posts: 3037
Joined: Sat May 28, 2016 1:01 pm

Re: Motion Blur?

Post by dpJudas »

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.
User avatar
sinaptica
Posts: 19
Joined: Tue Jan 31, 2017 5:41 am

Re: Motion Blur?

Post by sinaptica »

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
Chris
Posts: 2940
Joined: Thu Jul 17, 2003 12:07 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: Motion Blur?

Post by Chris »

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
Nash
 
 
Posts: 17434
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia
Contact:

Re: Motion Blur?

Post by Nash »

^ 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
Rachael
Posts: 13531
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her
Contact:

Re: Motion Blur?

Post by Rachael »

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
Pixel Eater
 
 
Posts: 667
Joined: Wed Aug 02, 2017 12:31 am
Location: In between the Moon and you, between the buried and me.

Re: Motion Blur?

Post by Pixel Eater »

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
Caligari87
Admin
Posts: 6174
Joined: Thu Feb 26, 2004 3:02 pm
Preferred Pronouns: He/Him
Contact:

Re: Motion Blur?

Post by Caligari87 »

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
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Motion Blur?

Post by Graf Zahl »

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
Get Phobo
Posts: 113
Joined: Fri Sep 07, 2018 8:30 am

Re: Motion Blur?

Post by Get Phobo »

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
Caligari87
Admin
Posts: 6174
Joined: Thu Feb 26, 2004 3:02 pm
Preferred Pronouns: He/Him
Contact:

Re: Motion Blur?

Post by Caligari87 »

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

8-)
Post Reply

Return to “Closed Feature Suggestions [GZDoom]”