An interactive environment for showcasing, testing, and benchmarking my implementation of a per-object motion blur.
This utilizes the Jump Flood Algorithm for a velocity dilation pass prior to blurring for high quality, high range, and high detail motion blur effect, with the efficiency of O(log(n)).
An overview video can be found here: https://youtu.be/m_KvYlYF3sA
A paper I wrote on the matter can be found here: Using the Jump Flood Algorithm to Dilate Velocity Maps in the application of Believable High Range High Fidelity Motion Blur 7_7_24 (2) - Google Docs.pdf
An addon version can be found here: https://github.com/sphynx-owner/JFA_driven_motion_blur_addon/tree/master
- take the contenst of the "addons" folder and move them to an addons folder in your project.
- add an environment node, add a MotionBlurCompositor(NEW!!) to it
- to that, add a new PreBlurProcessor effect, which is now required, and after it add a new GuertinMotionBlur, SphynxSimpleJumpFloodMotionBlur, or ExperimentalJumpFloodMotionBlur
- for debugging, add a "C","Z", and "freeze" input events, and then a DebugCompositorEffect to the compositor effects. Then, all you have to do is toggle "Debug" to true on whichever effect you want to show debug for
- GuretinMotionBlur - An all around best blur effect, robust, performant, and now also realistic.
- SphynxSimpleJumpFloodMotionBlur - An effect driven by a novel dilation method using the jump flood algorithm, used in research of realistic blending schemes and focused on being a retrospective blur approach.
- ExperimentalJumpFloodMotionBlur - An effect driven by a novel dilation method using the jump flood algorithm, uses an added feature to heuristically fake transparency of leading edge of the blur using the past color output.
instructions for radial blur meshes can be seen here: https://youtu.be/eslsw9do4Kc
WARNING: if you want transparent objects to render on top of the blurred background, you can move the pre-blur-processing and blur post process effects both to callback type of pre-transparent, At which point it would not work if you have MSAA enabled, so make sure to also turn that off.
Bistro demo for Godot showcasing lighting and high quality assets.
Bistro-Showcase.mp4
Includes Godot-Human-For-Scale to run around the level, and an interface for changing the time of day, resolution scaling, and quality scaling. Appropriate objects in the level are set to dynamic and are physics enabled, to see the effects of lighting on dynamic objects as well.
- Clone or download the Github repository.
- Download Godot 4.x and open the repository folder with Godot.
- Run the project. (Play button on the upper right corner of Godot's interface)
Windows: Bistro-Demo-Tweaked-Windows.zip
Mac: Bistro-Demo-Tweaked-Mac.zip
Linux: Bistro-Demo-Tweaked-Linux.zip
To get past the "Apple cannot check it for malicious software" warning on Mac, follow the instructions here.
-
ESCAPE to capture/uncapture mouse
H to hide/unhide control panel UI -
W-A-S-D to move
SHIFT to sprint
SPACE to jump
TILDE(~) to noclip -
V to switch third person/first person
RIGHT CLICK to zoom/focus
When opening the project for the first time, you may notice hundreds of *.res files get modified in your source control. This is a quirk of the Godot importer and these changes can be safely discarded once project has already been opened once.
Use the Light Change Utility node to change lighting scenarios in editor.
Includes a profiler to see performance details. RAM counter not available in release builds.
You can turn music on or off in editor.
Ported from Amazon Lumberyard Bistro.
Original porting work done by Logan Preshaw, original port can be found here.
Uses Creative Commons sounds, attributions are here.