Video Game & Complex Bokeh Blurs - Computerphile

preview_player
Показать описание
How do Madden, FIFA, PGA Tour get that lovely shallow depth of field in real time? Dr Mike Pound explains how Complex Gaussian Blurs can be separable.

This video was filmed and edited by Sean Riley.

Рекомендации по теме
Комментарии
Автор

Fun fact: original 1998 Half-Life was going to have an effect where an enemy can hit you so hard your glasses fall off and your vision is blurred, but it was rejected because it was impossible to do at the time.

ShinoSarna
Автор

Doom 2016 does a fast real-time Bokeh where the half-resolution framebuffer is blurred with a circular average (tapped fragments in a circular pattern, no Gaussian used) and then a second blur is performed where the colours are blended with a colour "max" operation (brightest RGB components kept).

Xilefian
Автор

Outstanding explanation!!! My son was home last weekend trying to explain this to me and I just couldn't picture it... (he works for Ubisoft) Your explanation was superb sir, thank you!!! :-)

nj
Автор

I love how Mike always is on the defensive with the symmetry of his drawings :D

peteckone
Автор

stop everything. best host of computerphile is here.
i could listen to his explainations the whole day

Nagria
Автор

Thank you for posting Dr Pound on Valentine's day. In my array of favourites he occupies index 0.

phillipharryt
Автор

0:35 "Gaussian blur, the thing we focused on..." hhehhehheh

TorgieMadison
Автор

I'm from an audio background and the moment he drew the overlaid sine waves it immediately looked to me like sine sound waves of different frequencies overlaid to create square waves. That made me immediately understand what he's talking about.

qwertyasdf
Автор

*Game Devs:* **This Video**
*Gamers:* **Turns Depth of Field off**

HarleyAMV
Автор

I did this at my first job, after separating it into two cheap draw calls, code sped up 80% lol I was so happy

nilspin
Автор

My brain melted when you showed the bokeh blur of the stars. It went into an infinite loop of trying to focus.

GijsvanDam
Автор

Real game developers who are supposed to know what they are doing: *furiously taking notes*

robisnowtired
Автор

It has surprisingly much resemblance with a drill that can drill square holes.
Rotation is an equivalent of a sinus wave - and if you combine right set of waves (in Fourier series), you can get virtually any shape. Consequently if you then translate sinus to rotation, you can drill a hole of any shape - the only limit is a resistance and strength of materials involved.

SergeyArhipenko
Автор

A lot of people in the comments objecting to motion blur, which I can understand but it's important to realize that the tech developed for motion blur is also used in per-object motion blur which is typically a lot more tame and doesn't get the motion sickness complaint. DoF similarly can be used really well in cutscenes, but can be distracting during gameplay. On slower paced games, though, it can work with gameplay as well (turn based RPGs especially).

spookylilghost
Автор

Man, it's enjoyable just to hear an academic not be dismissive of game design.

geoffsmith
Автор

That is a fascinating subject, I've always been, fascinated by camera effects in video games. You can tell in an instant when a game is using some other method of blur to simulate depth of speed rather than a proper bokeh approximation.

SteelSkin
Автор

There is also a brilliant separable hexagonal blur to simulate specific lenses that essentially does 3 line passes at 120° to each other. And the technique shown here can be used for much more difficult filters, for my thesis I implemented a realtime fullscreen inverse-square blur to simulate global illumination.

niwasox
Автор

Like adding sine waves together, that converge into a square wave?

Vextrove
Автор

Would love to see more videos of Mike talking about the implementation of maths in video game development. Would be nice if he/you were able to do a collab with Digital Foundry.

shaunhutchinson
Автор

To give an idea of the sort of improvements you can get with separable kernels, I optimized an image processing algorithm with that technique that would run at 4.5FPS at VGA resolution.

After I was done, I could run it at 21FPS at 720p resolution.

This involves some other tweaks like moving sampling point to reduce and weigh at the same time but a lot of the performance improvement comes from kernel optimization.

JBP.D
join shbcf.ru